From admin at opensuse.org Tue Oct 1 03:12:54 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 01 Oct 2019 03:12:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d92c4452d7bb_2d9b2b06af5f45fc151830@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: [ 1346s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1346s] libtool: link: ranlib .libs/libtransceiver_common.a [ 1346s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 1346s] /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 [ 1346s] 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 [ 1346s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 1346s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 1346s] collect2: error: ld returned 1 exit status [ 1347s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 1347s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1347s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 1347s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1347s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 1347s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1347s] make[1]: *** [Makefile:444: all] Error 2 [ 1347s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1347s] dh_auto_build: make -j1 returned exit code 2 [ 1347s] make: *** [debian/rules:6: build] Error 255 [ 1347s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1347s] [ 1347s] morla5 failed "build osmo-trx_1.1.1.29.e503.dsc" at Tue Oct 1 03:12:47 UTC 2019. [ 1347s] [ 1347s] ### VM INTERACTION START ### [ 1350s] [ 1263.362437] sysrq: SysRq : Power Off [ 1350s] [ 1263.376318] reboot: Power down [ 1350s] ### VM INTERACTION END ### [ 1350s] [ 1350s] morla5 failed "build osmo-trx_1.1.1.29.e503.dsc" at Tue Oct 1 03:12:51 UTC 2019. [ 1350s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Oct 1 03:48:19 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 01 Oct 2019 03:48:19 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d92cc97e6b9d_2d9b2b06af5f45fc15489f@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: [ 1008s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1008s] libtool: link: ranlib .libs/libtransceiver_common.a [ 1008s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 1008s] /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 [ 1008s] 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 [ 1009s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 1009s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 1009s] collect2: error: ld returned 1 exit status [ 1009s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 1009s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1009s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 1009s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1009s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 1009s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1009s] make[1]: *** [Makefile:444: all] Error 2 [ 1009s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1009s] dh_auto_build: make -j1 returned exit code 2 [ 1009s] make: *** [debian/rules:6: build] Error 255 [ 1009s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1009s] [ 1009s] cloud112 failed "build osmo-trx_1.1.1.29.e503.dsc" at Tue Oct 1 03:48:02 UTC 2019. [ 1009s] [ 1011s] ### VM INTERACTION START ### [ 1014s] [ 946.323496] sysrq: SysRq : Power Off [ 1014s] [ 946.338151] reboot: Power down [ 1017s] ### VM INTERACTION END ### [ 1017s] [ 1017s] cloud112 failed "build osmo-trx_1.1.1.29.e503.dsc" at Tue Oct 1 03:48:11 UTC 2019. [ 1017s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Oct 1 06:36:37 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 01 Oct 2019 06:36:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d92f3f91dcb2_2d9b2b06af5f45fc1801f0@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: [ 793s] ar: `u' modifier ignored since `D' is the default (see `U') [ 793s] libtool: link: ranlib .libs/libtransceiver_common.a [ 793s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 793s] /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 [ 794s] 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 [ 794s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 794s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 794s] collect2: error: ld returned 1 exit status [ 794s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 794s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 794s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 794s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 794s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 794s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 794s] make[1]: *** [Makefile:444: all] Error 2 [ 794s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 794s] dh_auto_build: make -j1 returned exit code 2 [ 794s] make: *** [debian/rules:6: build] Error 255 [ 794s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 794s] [ 794s] lamb61 failed "build osmo-trx_1.1.1.dsc" at Tue Oct 1 06:36:23 UTC 2019. [ 794s] [ 794s] ### VM INTERACTION START ### [ 797s] [ 715.937214] sysrq: SysRq : Power Off [ 797s] [ 715.948521] reboot: Power down [ 797s] ### VM INTERACTION END ### [ 797s] [ 797s] lamb61 failed "build osmo-trx_1.1.1.dsc" at Tue Oct 1 06:36:26 UTC 2019. [ 797s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Oct 1 08:15:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 08:15:55 +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 2: (1 comment) 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. oh sorry, did the fixup too quickly yesterday ;) -- 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: Tue, 01 Oct 2019 08:15:55 +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 Tue Oct 1 08:39:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 08:39:16 +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 (#3). 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, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/15633/3 -- 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: 3 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 Tue Oct 1 09:07:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 09:07:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15636 ) Change subject: library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing Advance ...................................................................... Patch Set 1: Code-Review+1 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 09:07: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 Oct 1 09:10:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 09:10:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_Types.ttcn: implement PTCCH/D message coding In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15637 ) Change subject: library/RLCMAC_Types.ttcn: implement PTCCH/D message coding ...................................................................... Patch Set 1: Code-Review+1 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 09:10: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 Oct 1 09:12:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 09:12:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638 ) Change subject: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15638/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15638/1/pcu/PCU_Tests_RAW.ttcn at 640 PS1, Line 640: * TODO: do we expect all TA values to be equal '1111111'B? */ what about this TODO? -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 09:12:46 +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 Oct 1 09:48:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Oct 2019 09:48:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638 ) Change subject: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15638/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15638/1/pcu/PCU_Tests_RAW.ttcn at 640 PS1, Line 640: * TODO: do we expect all TA values to be equal '1111111'B? */ > what about this TODO? I am still looking for the spec. references... '1111111'B is what I've seen in commercial GPRS networks (see Wireshark bug #16096). -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 09:48:01 +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 Oct 1 09:49:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Oct 2019 09:49:05 +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 3: Code-Review+1 -- 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: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 09:49: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 Tue Oct 1 12:02:14 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 01 Oct 2019 12:02:14 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d934054451e3_52c02aae103e45fc128660@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: [ 978s] ar: `u' modifier ignored since `D' is the default (see `U') [ 978s] libtool: link: ranlib .libs/libtransceiver_common.a [ 978s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 978s] /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 [ 978s] 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 [ 979s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 979s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 979s] collect2: error: ld returned 1 exit status [ 979s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 979s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 979s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 979s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 979s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 979s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 979s] make[1]: *** [Makefile:444: all] Error 2 [ 979s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 979s] dh_auto_build: make -j1 returned exit code 2 [ 979s] make: *** [debian/rules:6: build] Error 255 [ 979s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 979s] [ 979s] lamb25 failed "build osmo-trx_1.1.1.29.e503.dsc" at Tue Oct 1 12:01:53 UTC 2019. [ 979s] [ 979s] ### VM INTERACTION START ### [ 982s] [ 956.735811] sysrq: SysRq : Power Off [ 982s] [ 956.804314] reboot: Power down [ 982s] ### VM INTERACTION END ### [ 982s] [ 982s] lamb25 failed "build osmo-trx_1.1.1.29.e503.dsc" at Tue Oct 1 12:01:57 UTC 2019. [ 982s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Oct 1 12:09:23 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 01 Oct 2019 12:09:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9342113bccf_52c02aae103e45fc130739@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: [ 1502s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1502s] libtool: link: ranlib .libs/libtransceiver_common.a [ 1502s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 1502s] /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 [ 1503s] 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 [ 1503s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 1503s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 1503s] collect2: error: ld returned 1 exit status [ 1503s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 1503s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1503s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 1503s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1503s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 1503s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1503s] make[1]: *** [Makefile:444: all] Error 2 [ 1503s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1503s] dh_auto_build: make -j1 returned exit code 2 [ 1503s] make: *** [debian/rules:6: build] Error 255 [ 1503s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1503s] [ 1503s] lamb27 failed "build osmo-trx_1.1.1.dsc" at Tue Oct 1 12:09:10 UTC 2019. [ 1503s] [ 1503s] ### VM INTERACTION START ### [ 1507s] [ 1473.116358] sysrq: SysRq : Power Off [ 1507s] [ 1473.136874] reboot: Power down [ 1507s] ### VM INTERACTION END ### [ 1507s] [ 1507s] lamb27 failed "build osmo-trx_1.1.1.dsc" at Tue Oct 1 12:09:14 UTC 2019. [ 1507s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Oct 1 12:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 1 Oct 2019 12:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 Change subject: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust ...................................................................... MGCP_Test: Make RTP bwe/oa formt conversation tests more robust The following testcases create perform the format conversation are carried out using two bidirectional connections on one MGW endpoint. MGCP_Test.TC_amr_oa_bwe_rtp_conversion MGCP_Test.TC_amr_oa_oa_rtp_conversion MGCP_Test.TC_amr_bwe_bwe_rtp_conversion The test is programmed in a way that the TTCN3 side of the RTP emulation also works in bidirectional mode. This is prone to run into a race condition when the RX side is activated but the TX side is already transmitting. However, in order to test if the RTP format conversion works we do not need to test both directions at the same time. Its perfectly fine to do the one direction first and then do the other afterwards. Lets also add some guard time whil switching the RTP flows. Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/15639/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 7ddb6ea..41def03 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2012,7 +2012,7 @@ f_init(ep); - /* from us to MGW */ + /* Connection #0 (Bidirectional) */ flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); /* bind local RTP emulation sockets */ flow[0].em.portnr := 10000; @@ -2023,7 +2023,7 @@ flow[0].fmtp := fmtp0; f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]); - /* from MGW back to us */ + /* Connection #1 (Bidirectional) */ flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); flow[1].em.portnr := 20000; flow[1].rtp_cfg := c_RtpemDefaultCfg; @@ -2033,17 +2033,31 @@ flow[1].fmtp := fmtp1; f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]); - f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR); - f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); - + /* Send RTP packets to connection #0, receive on connection #1 */ + f_rtpem_mode(RTPEM[1], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_TXONLY); f_sleep(1.0); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + /* Send RTP packets to connection #1, receive on connection #0 */ + f_rtpem_mode(RTPEM[0], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_TXONLY); + f_sleep(1.0); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + + /* Remove RTP flows and check statistics */ f_flow_delete(RTPEM[0]); f_flow_delete(RTPEM[1], ep, call_id); + /* Check for errors */ stats[0] := f_rtpem_stats_get(RTPEM[0]); stats[1] := f_rtpem_stats_get(RTPEM[1]); - f_rtpem_stats_err_check(stats[0]); f_rtpem_stats_err_check(stats[1]); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 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 Oct 1 12:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 1 Oct 2019 12:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp The testcase TC_one_crcx_receive_only_rtp performs a short RTP transmission that lasts about 1 second. Then it conuts out the number of packets that are transmitted and checks against a fixed value. The compare values are determined using experimentation and reflect the number of bytes/packets that one could expect under normal conditions on an average machine. However, there may be load sitations on the test host that may cause that a too little number of packets is transmitted and the test will fail. Lets reduce the number a bit as the only thing we want to make sure with this is that there are at least some (more than one or two) packets transmitted Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a --- M mgw/MGCP_Test.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15640/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 41def03..86fc275 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1601,10 +1601,10 @@ stats := f_rtpem_stats_get(RTPEM[0]); - if (stats.num_pkts_tx < 40) { + if (stats.num_pkts_tx < 24) { setverdict(fail); } - if (stats.bytes_payload_tx < 190) { + if (stats.bytes_payload_tx < 96) { setverdict(fail); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 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 Oct 1 12:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 1 Oct 2019 12:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_c... Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 Change subject: MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion The testcase TC_ts101318_rfc5993_rtp_conversion tests the RTP packet format conversion of ts101318 to rfc5993 and vice versa. At the moment the testcase sends RTP packets in both directions at the same time. In order to simplify the test and to make race conditions less likely, lets test both directions separately and add some guard time. Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/15641/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 86fc275..4f2d58e 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1961,7 +1961,7 @@ f_vty_transceive(MGWVTY, "mgcp"); f_vty_transceive(MGWVTY, "rtp-patch rfc5993hr"); - /* from us to MGW */ + /* Connection #0 (Bidirectional) */ flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000")); /* bind local RTP emulation sockets */ flow[0].em.portnr := 10000; @@ -1971,7 +1971,7 @@ flow[0].rtp_cfg.tx_fixed_payload := '0b11b3eede60be4e3ec68838c7b5'O; f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]); - /* from MGW back to us */ + /* Connection #1 (Bidirectional) */ flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000")); flow[1].em.portnr := 20000; flow[1].rtp_cfg := c_RtpemDefaultCfg; @@ -1980,17 +1980,31 @@ flow[1].rtp_cfg.tx_fixed_payload := '000b11b3eede60be4e3ec68838c7b5'O; f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]); - f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR); - f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); - + /* Send RTP packets to connection #0, receive on connection #1 */ + f_rtpem_mode(RTPEM[1], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_TXONLY); f_sleep(1.0); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + /* Send RTP packets to connection #1, receive on connection #0 */ + f_rtpem_mode(RTPEM[0], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_TXONLY); + f_sleep(1.0); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + + /* Remove RTP flows and check statistics */ f_flow_delete(RTPEM[0]); f_flow_delete(RTPEM[1], ep, call_id); + /* Check for errors */ stats[0] := f_rtpem_stats_get(RTPEM[0]); stats[1] := f_rtpem_stats_get(RTPEM[1]); - f_rtpem_stats_err_check(stats[0]); f_rtpem_stats_err_check(stats[1]); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 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 Oct 1 13:34:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:34:38 +0000 Subject: Change in ...osmo-ccid-firmware[master]: CCID: fix length checks in PC_to_RDR_{GetSlotStatus, SetParameters} Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 to review the following change. Change subject: CCID: fix length checks in PC_to_RDR_{GetSlotStatus,SetParameters} ...................................................................... CCID: fix length checks in PC_to_RDR_{GetSlotStatus,SetParameters} Change-Id: I5ec32fd5fdf704ee06f21e548a16523a557d4988 --- M ccid/ccid_device.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/42/15642/1 diff --git a/ccid/ccid_device.c b/ccid/ccid_device.c index 346f77d..049b1cf 100644 --- a/ccid/ccid_device.c +++ b/ccid/ccid_device.c @@ -678,7 +678,7 @@ switch (ch->bMessageType) { case PC_to_RDR_GetSlotStatus: - if (len != sizeof(u->get_slot_status)) + if (len < sizeof(u->get_slot_status)) goto short_msg; rc = ccid_handle_get_slot_status(cs, msg); break; @@ -708,7 +708,8 @@ rc = ccid_handle_reset_parameters(cs, msg); break; case PC_to_RDR_SetParameters: - if (len != sizeof(u->set_parameters)) + // smallest union member + if (len < (sizeof(u->set_parameters.abProtocolData.t0)+10)) goto short_msg; rc = ccid_handle_set_parameters(cs, msg); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 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: I5ec32fd5fdf704ee06f21e548a16523a557d4988 Gerrit-Change-Number: 15642 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 1 13:34:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:34:38 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 to review the following change. Change subject: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) ...................................................................... Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) Change-Id: I0be2d8b92f176f31250a76e6f5b74a5c12d8cf42 --- M sysmoOCTSIM/config/hpl_usb_config.h M sysmoOCTSIM/config/usbd_config.h M sysmoOCTSIM/usb_descriptors.c 3 files changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/43/15643/1 diff --git a/sysmoOCTSIM/config/hpl_usb_config.h b/sysmoOCTSIM/config/hpl_usb_config.h index bbfd99d..dd62bd9 100644 --- a/sysmoOCTSIM/config/hpl_usb_config.h +++ b/sysmoOCTSIM/config/hpl_usb_config.h @@ -39,7 +39,7 @@ // Max possible (by "Max Endpoint Number" config) // usbd_num_ep_sp #ifndef CONF_USB_D_NUM_EP_SP -#define CONF_USB_D_NUM_EP_SP CONF_USB_N_6 +#define CONF_USB_D_NUM_EP_SP CONF_USB_N_7 #endif // diff --git a/sysmoOCTSIM/config/usbd_config.h b/sysmoOCTSIM/config/usbd_config.h index 0be4363..a8861dd 100644 --- a/sysmoOCTSIM/config/usbd_config.h +++ b/sysmoOCTSIM/config/usbd_config.h @@ -204,7 +204,7 @@ // bInterfaceNumber <0x00-0xFF> // usb_cdcd_acm_comm_bifcnum #ifndef CONF_USB_CDCD_ACM_COMM_BIFCNUM -#define CONF_USB_CDCD_ACM_COMM_BIFCNUM 0x0 +#define CONF_USB_CDCD_ACM_COMM_BIFCNUM 0x1 #endif // bAlternateSetting <0x00-0xFF> // usb_cdcd_acm_comm_baltset @@ -253,7 +253,7 @@ // bInterfaceNumber <0x00-0xFF> // usb_cdcd_acm_data_bifcnum #ifndef CONF_USB_CDCD_ACM_DATA_BIFCNUM -#define CONF_USB_CDCD_ACM_DATA_BIFCNUM 0x1 +#define CONF_USB_CDCD_ACM_DATA_BIFCNUM 0x2 #endif // bAlternateSetting <0x00-0xFF> // usb_cdcd_acm_data_baltset diff --git a/sysmoOCTSIM/usb_descriptors.c b/sysmoOCTSIM/usb_descriptors.c index 429e8c2..ddb925b 100644 --- a/sysmoOCTSIM/usb_descriptors.c +++ b/sysmoOCTSIM/usb_descriptors.c @@ -162,7 +162,7 @@ .iface = { .bLength = sizeof(struct usb_iface_desc), .bDescriptorType = USB_DT_INTERFACE, - .bInterfaceNumber = 2, + .bInterfaceNumber = 0, .bAlternateSetting = 0, .bNumEndpoints = 3, .bInterfaceClass = 11, @@ -175,7 +175,8 @@ .bDescriptorType = 33, .bcdCCID = LE16(0x0110), .bMaxSlotIndex = 7, - .dwProtocols = 0x07, /* 5/3/1.8V */ + .bVoltageSupport = 0x07, /* 5/3/1.8V */ + .dwProtocols = 0x03, .dwDefaultClock = LE32(2500), .dwMaximumClock = LE32(20000), .bNumClockSupported = 4, @@ -185,7 +186,7 @@ .dwMaxIFSD = LE32(0), .dwSynchProtocols = LE32(0), .dwMechanical = LE32(0), - .dwFeatures = LE32(0x10), + .dwFeatures = LE32(0x10 | 0x00010000), .dwMaxCCIDMessageLength = 272, .bClassGetResponse = 0xff, .bClassEnvelope = 0xff, -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 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: I0be2d8b92f176f31250a76e6f5b74a5c12d8cf42 Gerrit-Change-Number: 15643 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 1 13:34:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:34:39 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_df: Ensure all three endpoints are correctly set Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15644 to review the following change. Change subject: ccid_df: Ensure all three endpoints are correctly set ...................................................................... ccid_df: Ensure all three endpoints are correctly set The old code used to do OSMO_ASSERT(), i.e. checking if the endpoint number was != 0. However, now we're checking if it's != 0xFF, as the default initialization is 0xFF, and an unset endpoint can be detected this way. Change-Id: I7d334724a4c6b89ef8faa49bed49ed57ea216ff9 --- M sysmoOCTSIM/usb/class/ccid/device/ccid_df.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/44/15644/1 diff --git a/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c b/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c index 018208a..65d3499 100644 --- a/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c +++ b/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c @@ -91,9 +91,9 @@ ep = usb_find_ep_desc(usb_desc_next(desc->sod), desc->eod); } - ASSERT(func_data->func_ep_irq); - ASSERT(func_data->func_ep_in); - ASSERT(func_data->func_ep_out); + ASSERT(func_data->func_ep_irq != 0xff); + ASSERT(func_data->func_ep_in != 0xff); + ASSERT(func_data->func_ep_out != 0xff); _ccid_df_funcd.enabled = true; return ERR_NONE; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15644 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: I7d334724a4c6b89ef8faa49bed49ed57ea216ff9 Gerrit-Change-Number: 15644 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 1 13:34:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:34:39 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 to review the following change. Change subject: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status ...................................................................... ccid_gen_notify_slot_status: Fix bitmask of card slot insert status Change-Id: I0dece04fd302041aa8e23208734e9028ad42cd62 --- M sysmoOCTSIM/main.c 1 file changed, 25 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/45/15645/1 diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c index 8b3f5fa..9ef7f2f 100644 --- a/sysmoOCTSIM/main.c +++ b/sysmoOCTSIM/main.c @@ -301,13 +301,32 @@ } #include "ccid_proto.h" -struct msgb *ccid_gen_notify_slot_status(const uint8_t *bitmask, uint8_t bm_len) +static struct msgb *ccid_gen_notify_slot_status(uint8_t old_bm, uint8_t new_bm) { + uint8_t statusbytes[2] = {0}; //struct msgb *msg = ccid_msgb_alloc(); struct msgb *msg = msgb_alloc(64, "IRQ"); - struct ccid_rdr_to_pc_notify_slot_change *nsc = msgb_put(msg, sizeof(*nsc) + bm_len); + struct ccid_rdr_to_pc_notify_slot_change *nsc = msgb_put(msg, sizeof(*nsc) + sizeof(statusbytes)); nsc->bMessageType = RDR_to_PC_NotifySlotChange; - memcpy(&nsc->bmSlotCCState, bitmask, bm_len); + + for(int i = 0; i <8; i++) { + uint8_t byteidx = i >> 2; + uint8_t old_bit = old_bm & (1 << i); + uint8_t new_bit = new_bm & (1 << i); + uint8_t bv; + if (old_bit == new_bit && new_bit == 0) + bv = 0x00; + else if (old_bit == new_bit && new_bit == 1) + bv = 0x01; + else if (old_bit != new_bit && new_bit == 0) + bv = 0x02; + else + bv = 0x03; + + statusbytes[byteidx] |= bv << ((i % 4) << 1); + } + + memcpy(&nsc->bmSlotCCState, statusbytes, sizeof(statusbytes)); return msg; } @@ -319,19 +338,14 @@ struct msgb *msg; unsigned int i; - for (i = 0; i < 8; i++) { - bool irq_level = ncn8025_interrupt_level(i); - if (irq_level) - new_mask &= ~(1 << i); - else - new_mask |= (1 << i); - } + for (i = 0; i < 8; i++) + new_mask |= ncn8025_interrupt_level(i) << i; /* notify the user/host about any changes */ if (g_ccid_s.card_insert_mask != new_mask) { printf("CARD_DET 0x%02x -> 0x%02x\r\n", g_ccid_s.card_insert_mask, new_mask); - msg = ccid_gen_notify_slot_status(&new_mask, 1); + msg = ccid_gen_notify_slot_status(g_ccid_s.card_insert_mask, new_mask); msgb_enqueue_irqsafe(&g_ccid_s.irq_ep.list, msg); g_ccid_s.card_insert_mask = new_mask; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 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: I0dece04fd302041aa8e23208734e9028ad42cd62 Gerrit-Change-Number: 15645 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 1 13:34:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:34:40 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid: Fix overflow in Fi value Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15646 Change subject: ccid: Fix overflow in Fi value ...................................................................... ccid: Fix overflow in Fi value The Fi value can easily exceed 8bits. Even its default of 372 already exceeds 256... Change-Id: If2e2c46411d724883dca48f24e08d002e6670299 --- M ccid/ccid_device.h M ccid/ccid_slot_sim.c 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/46/15646/1 diff --git a/ccid/ccid_device.h b/ccid/ccid_device.h index d9cba52..afd4a7a 100644 --- a/ccid/ccid_device.h +++ b/ccid/ccid_device.h @@ -19,8 +19,8 @@ struct ccid_pars_decoded { /* global for T0/T1 */ - uint8_t fi; - uint8_t di; + uint32_t fi; + uint32_t di; enum ccid_clock_stop clock_stop; bool inverse_convention; diff --git a/ccid/ccid_slot_sim.c b/ccid/ccid_slot_sim.c index 7bd1dba..1bd514a 100644 --- a/ccid/ccid_slot_sim.c +++ b/ccid/ccid_slot_sim.c @@ -32,8 +32,8 @@ 0x07, 0x18, 0x00, 0x00, 0x01, 0xA5 }; static const struct ccid_pars_decoded slotsim_def_pars = { - .fi = 0, - .di = 0, + .fi = 372, + .di = 1, .clock_stop = CCID_CLOCK_STOP_NOTALLOWED, .inverse_convention = false, .t0 = { -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15646 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: If2e2c46411d724883dca48f24e08d002e6670299 Gerrit-Change-Number: 15646 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 Tue Oct 1 13:39:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 13:39:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 ) Change subject: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/#/c/15639/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15639/1//COMMIT_MSG at 7 PS1, Line 7: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust formt->format? https://gerrit.osmocom.org/#/c/15639/1//COMMIT_MSG at 9 PS1, Line 9: The following testcases create perform the format conversation are Something's wrong in this sentence, I don't understand it. https://gerrit.osmocom.org/#/c/15639/1//COMMIT_MSG at 24 PS1, Line 24: some guard time whil switching the RTP flows. while -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 13:39: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 Tue Oct 1 13:41:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 13:41:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 ) Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15640/1/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/#/c/15640/1/mgw/MGCP_Test.ttcn at 1604 PS1, Line 1604: if (stats.num_pkts_tx < 24) { Would be great taking the change to write a comment here in code on where does values come from. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 13:41:14 +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 Oct 1 13:41:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 1 Oct 2019 13:41:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 ) Change subject: MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 13:41: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 Oct 1 13:43:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:43:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 ) Change subject: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 13:43: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 Tue Oct 1 13:43:42 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 1 Oct 2019 13:43:42 +0000 Subject: Change in ...simtrace2[master]: hw: put board specific pin definition in corresponding file Message-ID: tsaitgaist has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/15647 Change subject: hw: put board specific pin definition in corresponding file ...................................................................... hw: put board specific pin definition in corresponding file SIM_PWEN and VCC_FWD are signals specific to the simtrace boards. the corresponding pins PA5 and PA26 are used for other signal on the octsim-tester. Change-Id: I51f37dd112cf681f4b1dbb3d2320ff9a697eaa08 --- M firmware/libboard/common/include/board_common.h M firmware/libboard/simtrace/include/board.h 2 files changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/47/15647/1 diff --git a/firmware/libboard/common/include/board_common.h b/firmware/libboard/common/include/board_common.h index cb72d40..ded4762 100644 --- a/firmware/libboard/common/include/board_common.h +++ b/firmware/libboard/common/include/board_common.h @@ -112,9 +112,6 @@ /* Interrupt request ID of USART peripheral connected to the phone */ #define IRQ_USART_PHONE USART1_IRQn -#define SIM_PWEN PIO_PA5 -#define VCC_FWD PIO_PA26 - // Board has UDP controller #define BOARD_USB_UDP diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index 0c1e533..7703451 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -35,7 +35,7 @@ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA31, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} /* Enable powering the card using the second 3.3 V output of the LDO (active high) */ -#define SIM_PWEN_PIN {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define SIM_PWEN_PIN {PIO_PA5, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} /* Enable powering the SIM card */ #define PWR_PINS SIM_PWEN_PIN /* Card presence pin */ @@ -93,9 +93,9 @@ /* Pins used to sniff phone-card communication */ #define PINS_SIM_SNIFF PIN_SIM_IO, PIN_SIM_CLK, PIN_SIM_RST_SNIFF /* Disable power converter 4.5-6V to 3.3V (active high) */ -#define PIN_SIM_PWEN_SNIFF {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define PIN_SIM_PWEN_SNIFF {PIO_PA5, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} /* Enable power switch to forward VCC_PHONE to VCC_SIM (active high) */ -#define PIN_VCC_FWD_SNIFF {VCC_FWD, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define PIN_VCC_FWD_SNIFF {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} /* Use phone VCC to power card */ #define PINS_PWR_SNIFF PIN_SIM_PWEN_SNIFF, PIN_VCC_FWD_SNIFF -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I51f37dd112cf681f4b1dbb3d2320ff9a697eaa08 Gerrit-Change-Number: 15647 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 Oct 1 13:43:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:43:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 ) Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 13:43: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 Oct 1 13:44:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 1 Oct 2019 13:44:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_c... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 ) Change subject: MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15641/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15641/1//COMMIT_MSG at 7 PS1, Line 7: MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion MGCP -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 01 Oct 2019 13:44: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 Tue Oct 1 15:06:22 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 1 Oct 2019 15:06:22 +0000 Subject: Change in ...osmo-ccid-firmware[master]: CCID: fix length checks in PC_to_RDR_{GetSlotStatus, SetParameters} In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 ) Change subject: CCID: fix length checks in PC_to_RDR_{GetSlotStatus,SetParameters} ...................................................................... Patch Set 1: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 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: I5ec32fd5fdf704ee06f21e548a16523a557d4988 Gerrit-Change-Number: 15642 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 01 Oct 2019 15:06: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 Oct 1 15:06:55 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 1 Oct 2019 15:06:55 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 ) Change subject: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status ...................................................................... Patch Set 1: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 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: I0dece04fd302041aa8e23208734e9028ad42cd62 Gerrit-Change-Number: 15645 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 01 Oct 2019 15:06: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 Oct 1 15:10:08 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 1 Oct 2019 15:10:08 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 ) Change subject: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) ...................................................................... Patch Set 1: Verified+1 Code-Review+1 This reorders the interfaces, because libccid on the host apparently requires ccid interfaces to have interface # == altsetting number, which is only true for interface 0 with altsetting 0... (See pcscd debug output while enumerating the octsim) -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 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: I0be2d8b92f176f31250a76e6f5b74a5c12d8cf42 Gerrit-Change-Number: 15643 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 01 Oct 2019 15:10: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 Oct 1 15:10:26 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 1 Oct 2019 15:10:26 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_df: Ensure all three endpoints are correctly set In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15644 ) Change subject: ccid_df: Ensure all three endpoints are correctly set ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15644 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: I7d334724a4c6b89ef8faa49bed49ed57ea216ff9 Gerrit-Change-Number: 15644 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 01 Oct 2019 15: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 Tue Oct 1 17:14:37 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 1 Oct 2019 17:14:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15648 Change subject: MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() ...................................................................... MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() Sometimes in TC_proc_ss_paging_fail we hit a race condition. The problem is that the paging expiration timer in OsmoMSC is set to 10 seconds by default (see MSC_PAGING_RESPONSE_TIMER_DEFAULT), and in f_tc_proc_ss_paging_fail() we also wait 10.0 seconds. Let's increase our timer value to 20.0 seconds, so there will be more 10 seconds of leeway. Change-Id: I6983e8c0cc8e1d7d1619f127e80063d71a4759d2 Related: Jenkins ttcn3-msc-test build #677 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/15648/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0d54405..fbb471e 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3705,8 +3705,9 @@ } } - /* Expect GSUP PROC_SS_ERROR message */ - f_expect_gsup_msg(gsup_rsp, T_val := 10.0); + /* Wait up to 20 seconds for GSUP PROC_SS_ERROR message. + * OsmoMSC waits for Paging Response 10 seconds by default. */ + f_expect_gsup_msg(gsup_rsp, T_val := 20.0); } testcase TC_proc_ss_paging_fail() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6983e8c0cc8e1d7d1619f127e80063d71a4759d2 Gerrit-Change-Number: 15648 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 Oct 1 18:09:59 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 1 Oct 2019 18:09:59 +0000 Subject: Change in ...simtrace2[master]: make LED definitions board specific Message-ID: tsaitgaist has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/15649 Change subject: make LED definitions board specific ...................................................................... make LED definitions board specific the LEDs (2 of them) were connected to the same pins on all boards, up to the octsim-tester. to be able to have board specific LEDs the definitions have moved from common to the each board. at the same time I added a bit of documentation what the LEDs are used for. Change-Id: I3226a9187a8d0b657ccf5dcd8f3586b2578f96d2 --- M firmware/libboard/common/include/board_common.h M firmware/libboard/owhw/include/board.h M firmware/libboard/qmod/include/board.h M firmware/libboard/sam3p256/include/board.h M firmware/libboard/simtrace/include/board.h 5 files changed, 70 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/49/15649/1 diff --git a/firmware/libboard/common/include/board_common.h b/firmware/libboard/common/include/board_common.h index ded4762..dd21e4b 100644 --- a/firmware/libboard/common/include/board_common.h +++ b/firmware/libboard/common/include/board_common.h @@ -56,16 +56,12 @@ /** Core definition */ #define cortexm3 -#define PIO_LED_RED PIO_PA17 -#define PIO_LED_GREEN PIO_PA18 - -#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN - -#define LED_NUM_RED 0 -#define LED_NUM_GREEN 1 - +/* LEDs are used to indicate the status + * the LED definition is board specific + * most boards have two LEDs, one green and one red + * the red LED indicates of the main firmware is ready (on) or if there is an error (blinking) + * the green LED indicates if the firmware is idling (on) or if there is activity (blinking) + */ /** USART0 pin RX */ #define PIN_USART0_RXD {PIO_PA9A_URXD0, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /** USART0 pin TX */ diff --git a/firmware/libboard/owhw/include/board.h b/firmware/libboard/owhw/include/board.h index 8c0052d..44472d0 100644 --- a/firmware/libboard/owhw/include/board.h +++ b/firmware/libboard/owhw/include/board.h @@ -31,6 +31,21 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58982400 // 18.432 * 16 / 5 +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /* USIM 2 interface (USART) */ #define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} #define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} diff --git a/firmware/libboard/qmod/include/board.h b/firmware/libboard/qmod/include/board.h index a738daa..5165434 100644 --- a/firmware/libboard/qmod/include/board.h +++ b/firmware/libboard/qmod/include/board.h @@ -20,9 +20,6 @@ #include "board_common.h" #include "simtrace_usb.h" -#define LED_USIM1 LED_GREEN -#define LED_USIM2 LED_RED - /** Name of the board */ #define BOARD_NAME "QMOD" /** Board definition */ @@ -33,6 +30,25 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58000000 // 18.432 * 29 / 6 +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 +/** the green LED is actually red and used as indication for USIM1 */ +#define LED_USIM1 LED_GREEN +/** the green LED is actually red and used as indication for USIM2 */ +#define LED_USIM2 LED_RED + /* USIM 2 interface (USART) */ #define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} #define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} diff --git a/firmware/libboard/sam3p256/include/board.h b/firmware/libboard/sam3p256/include/board.h index bd2ab49..58e8a24 100644 --- a/firmware/libboard/sam3p256/include/board.h +++ b/firmware/libboard/sam3p256/include/board.h @@ -30,6 +30,21 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58000000 +/** MCU pin connected to yellow LED2 */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED1 */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /** Pin configuration **/ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA20, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index 7703451..c109bea 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -31,6 +31,21 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58982400 // 18.432 * 16 / 5 +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /** Pin configuration **/ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA31, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3226a9187a8d0b657ccf5dcd8f3586b2578f96d2 Gerrit-Change-Number: 15649 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 Oct 1 18:10:00 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 1 Oct 2019 18:10:00 +0000 Subject: Change in ...simtrace2[master]: define LEDs for octsimtest Message-ID: tsaitgaist has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/15650 Change subject: define LEDs for octsimtest ...................................................................... define LEDs for octsimtest the OctSIM tester has only one amber LED. this is now mapped to the normally green LED, used for activity. because the LED is driven by an NPN transistor (as open collector) instead of being directly connected to the pin (as open collector) like on the other boards, the logic is inverted. since normally the LED is on on idle and blinks during activity, it will now be off on idle an only blink on activity (unless the code is extended to cope with the possible inverted logic). because there is no second LED but the current code requires one, I mapped is to an unused pin. the octosimtest target still does not compile completely, but at least the LED issue is fixed. Change-Id: I1296833bef2804c611640fcf4756e47905660e7b --- M firmware/libboard/octsimtest/include/board.h 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/50/15650/1 diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 2effc02..2e0f3c4 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -31,6 +31,22 @@ #define BOARD_MCK 58982400 // 18.432 * 16 / 5 /** Pin configuration **/ + +/** there is no red LED, but the code needs this second LED, thus we provide an unused pin */ +#define PIO_LED_RED PIO_PB13 +/** MCU pin connected to green LED, which is actually amber, and the logic is inverted since it is connected to an NPN transistor (used as open drain) */ +#define PIO_LED_GREEN PIO_PA4 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOB, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA5, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1296833bef2804c611640fcf4756e47905660e7b Gerrit-Change-Number: 15650 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Oct 2 03:46:14 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 02 Oct 2019 03:46:14 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d941d94c27c1_52c02aae103e45fc32518a@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: [ 456s] ar: `u' modifier ignored since `D' is the default (see `U') [ 456s] libtool: link: ranlib .libs/libtransceiver_common.a [ 456s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 456s] /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 [ 456s] 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 [ 456s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 456s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 456s] collect2: error: ld returned 1 exit status [ 456s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 456s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 456s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 456s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 456s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 456s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 456s] make[1]: *** [Makefile:444: all] Error 2 [ 456s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 456s] dh_auto_build: make -j1 returned exit code 2 [ 456s] make: *** [debian/rules:6: build] Error 255 [ 456s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 456s] [ 456s] lamb09 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 03:46:08 UTC 2019. [ 456s] [ 456s] ### VM INTERACTION START ### [ 460s] [ 440.602314] sysrq: SysRq : Power Off [ 460s] [ 440.610345] reboot: Power down [ 460s] ### VM INTERACTION END ### [ 460s] [ 460s] lamb09 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 03:46:12 UTC 2019. [ 460s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Oct 2 03:57:04 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 02 Oct 2019 03:57:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d94202624423_52c02aae103e45fc3259a5@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: [ 720s] ar: `u' modifier ignored since `D' is the default (see `U') [ 720s] libtool: link: ranlib .libs/libtransceiver_common.a [ 720s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 720s] /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 [ 721s] 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 [ 721s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 721s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 721s] collect2: error: ld returned 1 exit status [ 721s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 721s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 721s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 721s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 721s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 721s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 721s] make[1]: *** [Makefile:444: all] Error 2 [ 721s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 721s] dh_auto_build: make -j1 returned exit code 2 [ 721s] make: *** [debian/rules:6: build] Error 255 [ 721s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 721s] [ 721s] lamb08 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 03:56:44 UTC 2019. [ 721s] [ 722s] ### VM INTERACTION START ### [ 725s] [ 701.137995] sysrq: SysRq : Power Off [ 725s] [ 701.180472] reboot: Power down [ 725s] ### VM INTERACTION END ### [ 725s] [ 725s] lamb08 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 03:56:48 UTC 2019. [ 725s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Oct 2 05:30:47 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 02 Oct 2019 05:30:47 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d943611e12cf_52c02aae103e45fc3413c7@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: [ 343s] ar: `u' modifier ignored since `D' is the default (see `U') [ 343s] libtool: link: ranlib .libs/libtransceiver_common.a [ 343s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 343s] /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 [ 343s] 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 [ 343s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 343s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 343s] collect2: error: ld returned 1 exit status [ 343s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 343s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 343s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 343s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 343s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 343s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 343s] make[1]: *** [Makefile:444: all] Error 2 [ 343s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 343s] dh_auto_build: make -j1 returned exit code 2 [ 343s] make: *** [debian/rules:6: build] Error 255 [ 343s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 343s] [ 343s] build84 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 05:30:40 UTC 2019. [ 343s] [ 343s] ### VM INTERACTION START ### [ 346s] [ 330.185836] sysrq: SysRq : Power Off [ 346s] [ 330.189984] reboot: Power down [ 346s] ### VM INTERACTION END ### [ 346s] [ 346s] build84 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 05:30:43 UTC 2019. [ 346s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Oct 2 06:45:22 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 02 Oct 2019 06:45:22 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d944786178db_52c02aae103e45fc35756b@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: [ 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 [ 509s] 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 [ 509s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 509s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 509s] collect2: error: ld returned 1 exit status [ 509s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 509s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 509s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 509s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 509s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 509s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 509s] make[1]: *** [Makefile:444: all] Error 2 [ 509s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 509s] 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] lamb20 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 06:45:09 UTC 2019. [ 509s] [ 509s] ### VM INTERACTION START ### [ 512s] [ 489.884471] sysrq: SysRq : Power Off [ 512s] [ 489.890494] reboot: Power down [ 512s] ### VM INTERACTION END ### [ 512s] [ 512s] lamb20 failed "build osmo-trx_1.1.1.29.e503.dsc" at Wed Oct 2 06:45:12 UTC 2019. [ 512s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Oct 2 10:03:22 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 02 Oct 2019 10:03:22 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d9475f84d963_6872ac66c3d65f0109436@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: [ 772s] [ 81%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o [ 772s] 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 [ 778s] [ 82%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o [ 779s] 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 [ 790s] [ 83%] Linking CXX executable ../bin/LimeSuiteGUI [ 790s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/LimeSuiteGUI.dir/link.txt --verbose=1 [ 790s] /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 [ 797s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_store_8' [ 797s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_load_8' [ 797s] collect2: error: ld returned 1 exit status [ 797s] make[3]: *** [src/CMakeFiles/LimeSuiteGUI.dir/build.make:975: bin/LimeSuiteGUI] Error 1 [ 797s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 797s] make[2]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/LimeSuiteGUI.dir/all] Error 2 [ 797s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 797s] make[1]: *** [Makefile:133: all] Error 2 [ 797s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 797s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j2 returned exit code 2 [ 797s] make: *** [debian/rules:28: binary] Error 2 [ 797s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 797s] [ 797s] armbuild01 failed "build limesuite_19.04.0-1.dsc" at Wed Oct 2 10:03:11 UTC 2019. [ 797s] [ 797s] ### VM INTERACTION START ### [ 800s] [ 769.927197] sysrq: SysRq : Power Off [ 800s] [ 769.929511] reboot: Power down [ 800s] ### VM INTERACTION END ### [ 800s] [ 800s] armbuild01 failed "build limesuite_19.04.0-1.dsc" at Wed Oct 2 10:03:15 UTC 2019. [ 800s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Oct 2 10:49:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 10:49:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... 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-ttcn3-hacks/+/15640 to look at the new patch set (#2). Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp The testcase TC_one_crcx_receive_only_rtp performs a short RTP transmission that lasts about 1 second. Then it conuts out the number of packets that are transmitted and checks against a fixed value. The compare values are determined using experimentation and reflect the number of bytes/packets that one could expect under normal conditions on an average machine. However, there may be load sitations on the test host that may cause that a too little number of packets is transmitted and the test will fail. Lets reduce the number a bit as the only thing we want to make sure with this is that there are at least some (more than one or two) packets transmitted Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a --- M mgw/MGCP_Test.ttcn 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15640/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Wed Oct 2 10:49:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 10:49:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_... 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/+/15641 to look at the new patch set (#2). Change subject: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion The testcase TC_ts101318_rfc5993_rtp_conversion tests the RTP packet format conversion of ts101318 to rfc5993 and vice versa. At the moment the testcase sends RTP packets in both directions at the same time. In order to simplify the test and to make race conditions less likely, lets test both directions separately and add some guard time. Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/15641/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Oct 2 10:55:29 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 10:55:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust 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/+/15639 to look at the new patch set (#2). Change subject: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust ...................................................................... MGCP_Test: Make RTP bwe/oa formt conversation tests more robust The following testcases are carried out using two bidirectional connections on one MGW endpoint. MGCP_Test.TC_amr_oa_bwe_rtp_conversion MGCP_Test.TC_amr_oa_oa_rtp_conversion MGCP_Test.TC_amr_bwe_bwe_rtp_conversion The test is programmed in a way that the TTCN3 side of the RTP emulation also works in bidirectional mode. This is prone to run into a race condition when the RX side is activated but the TX side is already transmitting. However, in order to test if the RTP format conversion works we do not need to test both directions at the same time. Its perfectly fine to do the one direction first and then do the other afterwards. Lets also add some guard time whil switching the RTP flows. Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/15639/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Oct 2 10:55:29 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 10:55:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... 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-ttcn3-hacks/+/15640 to look at the new patch set (#3). Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp The testcase TC_one_crcx_receive_only_rtp performs a short RTP transmission that lasts about 1 second. Then it conuts out the number of packets that are transmitted and checks against a fixed value. The compare values are determined using experimentation and reflect the number of bytes/packets that one could expect under normal conditions on an average machine. However, there may be load sitations on the test host that may cause that a too little number of packets is transmitted and the test will fail. Lets reduce the number a bit as the only thing we want to make sure with this is that there are at least some (more than one or two) packets transmitted Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a --- M mgw/MGCP_Test.ttcn 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15640/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Wed Oct 2 10:55:29 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 10:55:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_... 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/+/15641 to look at the new patch set (#3). Change subject: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion The testcase TC_ts101318_rfc5993_rtp_conversion tests the RTP packet format conversion of ts101318 to rfc5993 and vice versa. At the moment the testcase sends RTP packets in both directions at the same time. In order to simplify the test and to make race conditions less likely, lets test both directions separately and add some guard time. Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/15641/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Oct 2 11:48:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 11:48:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Create dummy gsmtap sink with netcat Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 Change subject: Create dummy gsmtap sink with netcat ...................................................................... Create dummy gsmtap sink with netcat otherwise ICMP messages appear in pcap files and some messages are lost since they seem to be dropped by the kernel. Change-Id: Id69d98db63f8260067ad6bc1525fb05c936912f2 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 39 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/15651/1 diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index 9bf3c0a..3ad14c0 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -1,10 +1,22 @@ #!/bin/sh -PIDFILE=/tmp/dumper.pid +PIDFILE_PCAP=/tmp/pcap.pid TCPDUMP=/usr/sbin/tcpdump DUMPCAP=/usr/bin/dumpcap + +PIDFILE_NETCAT=/tmp/netcat.pid +NETCAT=/bin/nc +GSMTAP_PORT=4729 + TESTCASE=$1 +kill_rm_pidfile() { + if [ -e $1 ]; then + kill "$(cat "$1")" + rm $1 + fi +} + echo "------ $TESTCASE ------" date @@ -12,10 +24,8 @@ TTCN3_PCAP_PATH=/tmp fi -if [ -e $PIDFILE ]; then - kill "$(cat "$PIDFILE")" - rm $PIDFILE -fi +kill_rm_pidfile $PIDFILE_NETCAT +kill_rm_pidfile $PIDFILE_PCAP if [ "$(id -u)" = "0" ]; then CMD="$TCPDUMP -U" @@ -39,9 +49,14 @@ fi fi +# Create a dummy sink for GSMTAP packets +$NETCAT -l -u -k -p $GSMTAP_PORT >/dev/null 2>$TESTCASE.netcat.stderr & +PID=$! +echo $PID > $PIDFILE_NETCAT + $CMD -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & PID=$! -echo $PID > $PIDFILE +echo $PID > $PIDFILE_PCAP # Wait until packet dumper creates the pcap file and starts recording. # We generate some traffic until we see packet dumper catches it. diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index c1ab9d0..1f4da3d 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -1,9 +1,24 @@ #!/bin/sh -PIDFILE=/tmp/dumper.pid +PIDFILE_PCAP=/tmp/pcap.pid +PIDFILE_NETCAT=/tmp/netcat.pid TESTCASE=$1 VERDICT="$2" +kill_rm_pidfile() { +if [ -e $1 ]; then + PSNAME="$(ps -q "$(cat "$1")" -o comm=)" + if [ "$PSNAME" != "sudo" ]; then + kill "$(cat "$1")" + else + # NOTE: This requires you to be root or something like + # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file + sudo kill "$(cat "$1")" + fi + rm $1 +fi +} + date if [ x"$VERDICT" = x"pass" ]; then @@ -31,14 +46,5 @@ i=$((i+1)) done -if [ -e $PIDFILE ]; then - DUMPER="$(ps -q "$(cat "$PIDFILE")" -o comm=)" - if [ "$DUMPER" != "sudo" ]; then - kill "$(cat "$PIDFILE")" - else - # NOTE: This requires you to be root or something like - # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file - sudo kill "$(cat "$PIDFILE")" - fi - rm $PIDFILE -fi +kill_rm_pidfile "$PIDFILE_PCAP" +kill_rm_pidfile "$PIDFILE_NETCAT" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id69d98db63f8260067ad6bc1525fb05c936912f2 Gerrit-Change-Number: 15651 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 Oct 2 11:49:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 11:49:37 +0000 Subject: Change in ...docker-playground[master]: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-h... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15652 Change subject: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks ...................................................................... debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 --- M debian-stretch-titan/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/52/15652/1 diff --git a/debian-stretch-titan/Dockerfile b/debian-stretch-titan/Dockerfile index 426eb91..0778db6 100644 --- a/debian-stretch-titan/Dockerfile +++ b/debian-stretch-titan/Dockerfile @@ -25,6 +25,7 @@ procps \ tcpdump \ vim \ + netcat-openbsd \ && \ apt-get clean -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 Gerrit-Change-Number: 15652 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 Oct 2 11:51:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 11:51:31 +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 3: I can now see the AGCH Immediate Assignment messages after using Id69d98db63f8260067ad6bc1525fb05c936912f2 (netcat sink for gsmtap in ttcn3 test). -- 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: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 11:51: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 Wed Oct 2 11:52:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 11:52:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 ) Change subject: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15639/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15639/2//COMMIT_MSG at 7 PS2, Line 7: MGCP_Test: Make RTP bwe/oa formt conversation tests more robust format https://gerrit.osmocom.org/#/c/15639/2//COMMIT_MSG at 24 PS2, Line 24: some guard time whil switching the RTP flows. while -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 11:52: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 Oct 2 11:53:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 11:53:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 ) Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 11:53: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 Wed Oct 2 11:53:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 11:53:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 ) Change subject: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 11:53: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 Oct 2 13:52:10 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 13:52:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa format conversation tests more robust 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/+/15639 to look at the new patch set (#3). Change subject: MGCP_Test: Make RTP bwe/oa format conversation tests more robust ...................................................................... MGCP_Test: Make RTP bwe/oa format conversation tests more robust The following testcases are carried out using two bidirectional connections on one MGW endpoint. MGCP_Test.TC_amr_oa_bwe_rtp_conversion MGCP_Test.TC_amr_oa_oa_rtp_conversion MGCP_Test.TC_amr_bwe_bwe_rtp_conversion The test is programmed in a way that the TTCN3 side of the RTP emulation also works in bidirectional mode. This is prone to run into a race condition when the RX side is activated but the TX side is already transmitting. However, in order to test if the RTP format conversion works we do not need to test both directions at the same time. Its perfectly fine to do the one direction first and then do the other afterwards. Lets also add some guard time while switching the RTP flows. Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/15639/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Oct 2 13:52:10 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 13:52:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... 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/+/15640 to look at the new patch set (#4). Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp The testcase TC_one_crcx_receive_only_rtp performs a short RTP transmission that lasts about 1 second. Then it conuts out the number of packets that are transmitted and checks against a fixed value. The compare values are determined using experimentation and reflect the number of bytes/packets that one could expect under normal conditions on an average machine. However, there may be load sitations on the test host that may cause that a too little number of packets is transmitted and the test will fail. Lets reduce the number a bit as the only thing we want to make sure with this is that there are at least some (more than one or two) packets transmitted Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a --- M mgw/MGCP_Test.ttcn 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15640/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Oct 2 13:52:10 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 2 Oct 2019 13:52:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_... 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/+/15641 to look at the new patch set (#4). Change subject: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion The testcase TC_ts101318_rfc5993_rtp_conversion tests the RTP packet format conversion of ts101318 to rfc5993 and vice versa. At the moment the testcase sends RTP packets in both directions at the same time. In order to simplify the test and to make race conditions less likely, lets test both directions separately and add some guard time. Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/15641/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Oct 2 14:28:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 14:28:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa format conversation tests more robust In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 ) Change subject: MGCP_Test: Make RTP bwe/oa format conversation tests more robust ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 14:28: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 Oct 2 14:28:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 14:28:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 ) Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 14:28: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 Oct 2 14:29:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 14:29:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 ) Change subject: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 14:29: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 Wed Oct 2 14:36:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 14:36:03 +0000 Subject: Change in ...osmo-bts[master]: scheduler.c: Move some message log level to DEBUG Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15653 Change subject: scheduler.c: Move some message log level to DEBUG ...................................................................... scheduler.c: Move some message log level to DEBUG Otherwise using "logging level set-all info" makes it impossible to see anything in VTY due to tons of those two lines appearing. Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 --- M src/common/scheduler.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/15653/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 95a1b00..1c002fa 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -776,7 +776,7 @@ uint8_t tn = l1sap->u.data.chan_nr & 7; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - LOGL1S(DL1P, LOGL_INFO, l1t, tn, -1, l1sap->u.data.fn, + LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.data.fn, "PH-DATA.req: chan_nr=0x%02x link_id=0x%02x\n", l1sap->u.data.chan_nr, l1sap->u.data.link_id); @@ -839,7 +839,7 @@ return -ENODEV; } - LOGL1S(DL1P, LOGL_INFO, l1t, tn, chan, fn, + LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "PH-RTS.ind: chan_nr=0x%02x link_id=0x%02x\n", chan_nr, link_id); /* generate prim */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 Gerrit-Change-Number: 15653 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 Oct 2 15:20:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 15:20:51 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Log conn dropped due to radio link counter timeout Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15654 Change subject: l1sap: Log conn dropped due to radio link counter timeout ...................................................................... l1sap: Log conn dropped due to radio link counter timeout Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/54/15654/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index f07e79c..40db16f 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1026,8 +1026,11 @@ lchan->s--; DEBUGP(DMEAS, "%s counting down radio link counter S=%d\n", gsm_lchan_name(lchan), lchan->s); - if (lchan->s == 0) + if (lchan->s == 0) { + LOGP(DMEAS, LOGL_NOTICE, "%s radio link counter timeout S=%d, dropping conn\n", + gsm_lchan_name(lchan), lchan->s); rsl_tx_conn_fail(lchan, RSL_ERR_RADIO_LINK_FAIL); + } return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 Gerrit-Change-Number: 15654 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 Oct 2 15:49:00 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 15:49:00 +0000 Subject: Change in ...osmo-bts[master]: scheduler.c: Move some message log level to DEBUG In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15653 ) Change subject: scheduler.c: Move some message log level to DEBUG ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15653/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/#/c/15653/1/src/common/scheduler.c at 784 PS1, Line 784: abort Idea for a separate change: we should use OSMO_ASSERT here. https://gerrit.osmocom.org/#/c/15653/1/src/common/scheduler.c at 802 PS1, Line 802: LOGL_INFO How about this one? On traffic channels it should also generate tons of logging. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 Gerrit-Change-Number: 15653 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 02 Oct 2019 15:49:00 +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 Oct 2 15:50:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 15:50:21 +0000 Subject: Change in ...osmo-bts[master]: scheduler.c: Move some message log level to DEBUG In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15653 ) Change subject: scheduler.c: Move some message log level to DEBUG ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/15653/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/#/c/15653/1/src/common/scheduler.c at 784 PS1, Line 784: abort > Idea for a separate change: we should use OSMO_ASSERT here. agree https://gerrit.osmocom.org/#/c/15653/1/src/common/scheduler.c at 802 PS1, Line 802: LOGL_INFO > How about this one? On traffic channels it should also generate tons of logging. agree -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 Gerrit-Change-Number: 15653 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 15:50:21 +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 Wed Oct 2 15:51:02 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 15:51:02 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Log conn dropped due to radio link counter timeout In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15654 ) Change subject: l1sap: Log conn dropped due to radio link counter timeout ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15654/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15654/1/src/common/l1sap.c at 1030 PS1, Line 1030: LOGP Use LOGPLCHAN(). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 Gerrit-Change-Number: 15654 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 02 Oct 2019 15:51: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 Oct 2 15:55:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 15:55:03 +0000 Subject: Change in ...osmo-bts[master]: scheduler.c: Move some message log level to DEBUG In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15653 to look at the new patch set (#2). Change subject: scheduler.c: Move some message log level to DEBUG ...................................................................... scheduler.c: Move some message log level to DEBUG Otherwise using "logging level set-all info" makes it impossible to see anything in VTY due to tons of those two lines appearing. Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 --- M src/common/scheduler.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/15653/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 Gerrit-Change-Number: 15653 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Wed Oct 2 15:55:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 15:55:06 +0000 Subject: Change in ...osmo-bts[master]: scheduler: Use OSMO_ASSERT instead of abort Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15655 Change subject: scheduler: Use OSMO_ASSERT instead of abort ...................................................................... scheduler: Use OSMO_ASSERT instead of abort Change-Id: I594842b08cdb97a473273ba7097a05502f5751b8 --- M src/common/scheduler.c 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/15655/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 52edcbf..40e0a54 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -780,8 +781,7 @@ "PH-DATA.req: chan_nr=0x%02x link_id=0x%02x\n", l1sap->u.data.chan_nr, l1sap->u.data.link_id); - if (!l1sap->oph.msg) - abort(); + OSMO_ASSERT(l1sap->oph.msg); /* ignore empty frame */ if (!msgb_l2len(l1sap->oph.msg)) { @@ -802,8 +802,7 @@ LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.tch.fn, "TCH.req: chan_nr=0x%02x\n", l1sap->u.tch.chan_nr); - if (!l1sap->oph.msg) - abort(); + OSMO_ASSERT(l1sap->oph.msg); /* ignore empty frame */ if (!msgb_l2len(l1sap->oph.msg)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I594842b08cdb97a473273ba7097a05502f5751b8 Gerrit-Change-Number: 15655 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 Oct 2 16:30:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 16:30:05 +0000 Subject: Change in ...osmo-bts[master]: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15656 Change subject: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels ...................................................................... scheduler: fix handling of PTCCH/U and PTCCH/D logical channels 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 - they have nothing to do with xCCH coding. Instead, we need to use tx_pdtch_fn() for Downlink and rx_rach_fn() for Uplink. In l1sap_ph_rach_ind() we need to check if an Access Burst was received on PTCCH/U and forward it to OsmoPCU with proper SAPI value (PCU_IF_SAPI_PTCCH). To be able to specify a SAPI, a new parameter is introduced to pcu_tx_rach_ind(). Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Related: OS#4102 --- M include/osmo-bts/pcu_if.h M src/common/l1sap.c M src/common/pcu_sock.c M src/common/scheduler.c 4 files changed, 26 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/56/15656/1 diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 114f87d..f34e0cd 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -12,7 +12,7 @@ uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len, int8_t rssi, uint16_t ber10k, int16_t bto, int16_t lqual); int pcu_tx_rach_ind(struct gsm_bts *bts, int16_t qta, uint16_t ra, uint32_t fn, - uint8_t is_11bit, enum ph_burst_type burst_type); + uint8_t is_11bit, enum ph_burst_type burst_type, uint8_t sapi); int pcu_tx_time_ind(uint32_t fn); int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); diff --git a/src/common/l1sap.c b/src/common/l1sap.c index f07e79c..0409e2e 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1309,6 +1309,20 @@ DEBUGPFN(DL1P, rach_ind->fn, "Rx PH-RA.ind\n"); + /* PTCCH/UL (Packet Timing Advance Control Channel) */ + if (L1SAP_IS_CHAN_PDCH(rach_ind->chan_nr) && L1SAP_IS_PTCCH(rach_ind->fn)) { + LOGPFN(DL1P, LOGL_DEBUG, rach_ind->fn, + /* TODO: calculate and print Timing Advance Index */ + "Access Burst for continuous Timing Advance control (toa256=%d)\n", + rach_ind->acc_delay_256bits); + + /* QTA: Timing Advance in units of 1/4 of a symbol */ + pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, + rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, + rach_ind->burst_type, PCU_IF_SAPI_PTCCH); + return 0; + } + /* check for handover access burst on dedicated channels */ if (!L1SAP_IS_CHAN_RACH(rach_ind->chan_nr)) { rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_HO); @@ -1345,8 +1359,8 @@ rach_ind->acc_delay, rach_ind->ra); pcu_tx_rach_ind(bts, rach_ind->acc_delay << 2, - rach_ind->ra, rach_ind->fn, - rach_ind->is_11bit, rach_ind->burst_type); + rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, + rach_ind->burst_type, PCU_IF_SAPI_RACH); return 0; } diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index ba9e172..51f72d8 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -380,7 +380,7 @@ } int pcu_tx_rach_ind(struct gsm_bts *bts, int16_t qta, uint16_t ra, uint32_t fn, - uint8_t is_11bit, enum ph_burst_type burst_type) + uint8_t is_11bit, enum ph_burst_type burst_type, uint8_t sapi) { struct msgb *msg; struct gsm_pcu_if *pcu_prim; @@ -395,7 +395,7 @@ pcu_prim = (struct gsm_pcu_if *) msg->data; rach_ind = &pcu_prim->u.rach_ind; - rach_ind->sapi = PCU_IF_SAPI_RACH; + rach_ind->sapi = sapi; rach_ind->ra = ra; rach_ind->qta = qta; rach_ind->fn = fn; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 95a1b00..266273d 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -538,11 +538,15 @@ .desc = "Packet Timing advance control channel", .chan_nr = RSL_CHAN_OSMO_PDCH, - /* 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. */ .flags = TRX_CHAN_FLAG_PDCH, .rts_fn = rts_data_fn, - .dl_fn = tx_data_fn, - .ul_fn = rx_data_fn, + .dl_fn = tx_pdtch_fn, + .ul_fn = rx_rach_fn, }, [TRXC_CBCH] = { /* TODO: distinguish CBCH on SDCCH/4 and SDCCH/8 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Gerrit-Change-Number: 15656 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 Oct 2 16:30:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 16:30:06 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15657 Change subject: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH ...................................................................... osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH If a logical channel, on which an Access Burst has been received, is not either of RACH, PDTCH or PTCCH, then this is a handover Access Burst, which is always encoded as 8-bit and shall contain the generic training sequence (TS0). Access Bursts on a PDCH time-slot are not related to handover. Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/57/15657/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8b0c761..421cf16 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -796,9 +796,10 @@ enum rach_synch_seq_t synch_seq = RACH_SYNCH_SEQ_TS0; int best_score = 127 * RACH_SYNCH_SEQ_LEN; - /* If chan != TRXC_RACH, this is a handover RACH, which is always encoded - * as 8-bit and should contain the generic training sequence (TS0). */ - if (chan == TRXC_RACH) { + /* If logical channel is not either of RACH, PDTCH or PTCCH, this is a + * handover Access Burst, which is always encoded as 8-bit and shall + * contain the generic training sequence (TS0). */ + if (chan == TRXC_RACH || chan == TRXC_PDTCH || chan == TRXC_PTCCH) { if (bi->flags & TRX_BI_F_TS_INFO) synch_seq = (enum rach_synch_seq_t) bi->tsc; else -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea Gerrit-Change-Number: 15657 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 Oct 2 16:30:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 16:30:06 +0000 Subject: Change in ...osmo-bts[master]: common/l1sap: increase ToA precision for packet Access Bursts Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15658 Change subject: common/l1sap: increase ToA precision for packet Access Bursts ...................................................................... common/l1sap: increase ToA precision for packet Access Bursts QTA is a Timing Advance value in units of 1/4 of a symbol. Let's use ToA256 (1/256 of a symbol) field of L1SAP RACH.ind as a base for QTA calculation in order to achieve better precision. Change-Id: I6e6fa7985c430a9bdbd12af2a8b2a5a66f11a41c --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/58/15658/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 0409e2e..c6dfee2 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1358,7 +1358,8 @@ LOGPFN(DL1P, LOGL_INFO, rach_ind->fn, "RACH for packet access (toa=%d, ra=%d)\n", rach_ind->acc_delay, rach_ind->ra); - pcu_tx_rach_ind(bts, rach_ind->acc_delay << 2, + /* QTA: Timing Advance in units of 1/4 of a symbol */ + pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, rach_ind->burst_type, PCU_IF_SAPI_RACH); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e6fa7985c430a9bdbd12af2a8b2a5a66f11a41c Gerrit-Change-Number: 15658 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 Oct 2 16:40:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 16:40:53 +0000 Subject: Change in ...osmo-bts[master]: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15656 ) Change subject: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15656/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15656/1/src/common/l1sap.c at 1320 PS1, Line 1320: pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, Why >> 6 here? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Gerrit-Change-Number: 15656 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 02 Oct 2019 16:40: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 Wed Oct 2 16:50:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 16:50:24 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15657 ) Change subject: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH ...................................................................... Patch Set 1: Looks like this patch belongs inside the previous one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea Gerrit-Change-Number: 15657 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 16:50: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 Wed Oct 2 16:50:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 16:50:54 +0000 Subject: Change in ...osmo-bts[master]: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15656 ) Change subject: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15656/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15656/1/src/common/l1sap.c at 1320 PS1, Line 1320: pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, > Why >> 6 here? Because 6 is a power of 2: 2 ^ 6 is 64. X >> 6 gives us same result as X / 64. See another example below: X << 2 is equivalent to X * 4. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Gerrit-Change-Number: 15656 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: Wed, 02 Oct 2019 16:50:54 +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 Oct 2 16:52:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 16:52:40 +0000 Subject: Change in ...osmo-bts[master]: common/l1sap: increase ToA precision for packet Access Bursts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15658 ) Change subject: common/l1sap: increase ToA precision for packet Access Bursts ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e6fa7985c430a9bdbd12af2a8b2a5a66f11a41c Gerrit-Change-Number: 15658 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 02 Oct 2019 16:52: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 Wed Oct 2 16:54:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 16:54:03 +0000 Subject: Change in ...osmo-bts[master]: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15656 ) Change subject: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15656/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15656/1/src/common/l1sap.c at 1320 PS1, Line 1320: pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, > Because 6 is a power of 2: 2 ^ 6 is 64. [?] Yes I know that part, but not why 64. But now I figured out seeing the other commit. 256/64 -> 4 so ranges 0..4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Gerrit-Change-Number: 15656 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: Wed, 02 Oct 2019 16:54:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Wed Oct 2 16:55:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 16:55:51 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15657 ) Change subject: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH ...................................................................... Patch Set 1: > Looks like this patch belongs inside the previous one. Not that much. This change additionally covers the case when the MS transmits 4 consecutive Access Bursts instead of Normal Bursts on a PDTCH block. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea Gerrit-Change-Number: 15657 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 16:55:51 +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 Oct 2 16:58:33 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 16:58:33 +0000 Subject: Change in ...osmo-bts[master]: scheduler.c: Move some message log level to DEBUG In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15653 ) Change subject: scheduler.c: Move some message log level to DEBUG ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 Gerrit-Change-Number: 15653 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 16:58: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 Oct 2 16:58:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 16:58:38 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15657 ) Change subject: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH ...................................................................... Patch Set 1: Code-Review+1 Yeah sure, but it happens now because in previous commit you changes the Rx function pointer for PTCCH to be rx_rach_fn... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea Gerrit-Change-Number: 15657 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 16:58: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 Oct 2 16:58:48 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 16:58:48 +0000 Subject: Change in ...osmo-bts[master]: scheduler: Use OSMO_ASSERT instead of abort In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15655 ) Change subject: scheduler: Use OSMO_ASSERT instead of abort ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I594842b08cdb97a473273ba7097a05502f5751b8 Gerrit-Change-Number: 15655 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 02 Oct 2019 16:58: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 Oct 2 17:04:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 17:04:14 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Log conn dropped due to radio link counter timeout 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/+/15654 to look at the new patch set (#3). Change subject: l1sap: Log conn dropped due to radio link counter timeout ...................................................................... l1sap: Log conn dropped due to radio link counter timeout Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 --- M src/common/l1sap.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/54/15654/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 Gerrit-Change-Number: 15654 Gerrit-PatchSet: 3 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 Wed Oct 2 17:21:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 17:21:26 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable GSMTAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15635 ) Change subject: ttcn3-pcu: Enable GSMTAP ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15635/1/ttcn3-pcu-test/osmo-pcu.cfg File ttcn3-pcu-test/osmo-pcu.cfg: https://gerrit.osmocom.org/#/c/15635/1/ttcn3-pcu-test/osmo-pcu.cfg at 2 PS1, Line 2: logging level set-all debug According to fixeria, it seems we need "logging filter all 1" to have gsmtap log really working, or at least tests he did show that. It's still unclear for us why is it needed here, since no other cfg in docker-playground have it and we both remember seeing gsmtap logs in pcap files recently.... Furthermore, apparently osmo-msc doesn't need the "logging filter all 1" line to have gsmtap log being outputted... -- 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-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 17:21:26 +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 Oct 2 17:50:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 17:50:52 +0000 Subject: Change in ...osmo-bts[master]: scheduler.c: Move some message log level to DEBUG In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15653 ) Change subject: scheduler.c: Move some message log level to DEBUG ...................................................................... scheduler.c: Move some message log level to DEBUG Otherwise using "logging level set-all info" makes it impossible to see anything in VTY due to tons of those two lines appearing. Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 --- M src/common/scheduler.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 95a1b00..52edcbf 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -776,7 +776,7 @@ uint8_t tn = l1sap->u.data.chan_nr & 7; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - LOGL1S(DL1P, LOGL_INFO, l1t, tn, -1, l1sap->u.data.fn, + LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.data.fn, "PH-DATA.req: chan_nr=0x%02x link_id=0x%02x\n", l1sap->u.data.chan_nr, l1sap->u.data.link_id); @@ -799,7 +799,7 @@ uint8_t tn = l1sap->u.tch.chan_nr & 7; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - LOGL1S(DL1P, LOGL_INFO, l1t, tn, -1, l1sap->u.tch.fn, "TCH.req: chan_nr=0x%02x\n", + LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.tch.fn, "TCH.req: chan_nr=0x%02x\n", l1sap->u.tch.chan_nr); if (!l1sap->oph.msg) @@ -839,7 +839,7 @@ return -ENODEV; } - LOGL1S(DL1P, LOGL_INFO, l1t, tn, chan, fn, + LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "PH-RTS.ind: chan_nr=0x%02x link_id=0x%02x\n", chan_nr, link_id); /* generate prim */ @@ -875,7 +875,7 @@ return -ENODEV; } - LOGL1S(DL1P, LOGL_INFO, l1t, tn, chan, fn, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); + LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); /* only send, if FACCH is selected */ if (facch) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c7500c1e56db0c4dcb474f93c882a9c7c004d55 Gerrit-Change-Number: 15653 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 Wed Oct 2 17:50:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 17:50:53 +0000 Subject: Change in ...osmo-bts[master]: scheduler: Use OSMO_ASSERT instead of abort In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15655 ) Change subject: scheduler: Use OSMO_ASSERT instead of abort ...................................................................... scheduler: Use OSMO_ASSERT instead of abort Change-Id: I594842b08cdb97a473273ba7097a05502f5751b8 --- M src/common/scheduler.c 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 52edcbf..40e0a54 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -780,8 +781,7 @@ "PH-DATA.req: chan_nr=0x%02x link_id=0x%02x\n", l1sap->u.data.chan_nr, l1sap->u.data.link_id); - if (!l1sap->oph.msg) - abort(); + OSMO_ASSERT(l1sap->oph.msg); /* ignore empty frame */ if (!msgb_l2len(l1sap->oph.msg)) { @@ -802,8 +802,7 @@ LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.tch.fn, "TCH.req: chan_nr=0x%02x\n", l1sap->u.tch.chan_nr); - if (!l1sap->oph.msg) - abort(); + OSMO_ASSERT(l1sap->oph.msg); /* ignore empty frame */ if (!msgb_l2len(l1sap->oph.msg)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I594842b08cdb97a473273ba7097a05502f5751b8 Gerrit-Change-Number: 15655 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 Wed Oct 2 17:59:32 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 2 Oct 2019 17:59:32 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Log conn dropped due to radio link counter timeout In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15654 ) Change subject: l1sap: Log conn dropped due to radio link counter timeout ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 Gerrit-Change-Number: 15654 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 02 Oct 2019 17:59: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 Oct 2 17:59:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 17:59:55 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Log conn dropped due to radio link counter timeout In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15654 ) Change subject: l1sap: Log conn dropped due to radio link counter timeout ...................................................................... l1sap: Log conn dropped due to radio link counter timeout Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 --- M src/common/l1sap.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/common/l1sap.c b/src/common/l1sap.c index f07e79c..a77b53a 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1026,8 +1026,12 @@ lchan->s--; DEBUGP(DMEAS, "%s counting down radio link counter S=%d\n", gsm_lchan_name(lchan), lchan->s); - if (lchan->s == 0) + if (lchan->s == 0) { + LOGPLCHAN(lchan, DMEAS, LOGL_NOTICE, + "radio link counter timeout S=%d, dropping conn\n", + lchan->s); rsl_tx_conn_fail(lchan, RSL_ERR_RADIO_LINK_FAIL); + } return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I78c5ff00be8d2c870ed0277294a8e499ba8a8d95 Gerrit-Change-Number: 15654 Gerrit-PatchSet: 3 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 Wed Oct 2 19:10:03 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Oct 2019 19:10:03 +0000 Subject: Change in ...libosmocore[master]: API doc tweaks (mncc.h, gsm_08_08.h) Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15659 Change subject: API doc tweaks (mncc.h, gsm_08_08.h) ...................................................................... API doc tweaks (mncc.h, gsm_08_08.h) Change-Id: I9b4c7e737c83c65e358496e4540c14be5abc5474 --- M include/osmocom/gsm/mncc.h M include/osmocom/gsm/protocol/gsm_08_08.h 2 files changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/15659/1 diff --git a/include/osmocom/gsm/mncc.h b/include/osmocom/gsm/mncc.h index e5e9607..db70235 100644 --- a/include/osmocom/gsm/mncc.h +++ b/include/osmocom/gsm/mncc.h @@ -10,10 +10,10 @@ /* Expanded fields from GSM TS 04.08, Table 10.5.102 */ struct gsm_mncc_bearer_cap { - int transfer; /* Information Transfer Capability */ - int mode; /* Transfer Mode */ - int coding; /* Coding Standard */ - int radio; /* Radio Channel Requirement */ + int transfer; /* Information Transfer Capability, see enum gsm48_bcap_itcap. */ + int mode; /* Transfer Mode, see enum gsm48_bcap_tmod. */ + int coding; /* Coding Standard, see enum gsm48_bcap_coding.*/ + int radio; /* Radio Channel Requirement, see enum gsm48_bcap_rrq. */ int speech_ctm; /* CTM text telephony indication */ int speech_ver[8]; /* Speech version indication, see enum gsm48_bcap_speech_ver; -1 marks end */ struct { diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index 9806e08..a540609 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -512,13 +512,15 @@ GSM0808_PAGINF_FOR_USSD = 0x02, }; -/* 3GPP TS 48.008 3.2.2.104 Speech Codec */ +/*! 3GPP TS 48.008 3.2.2.104 Speech Codec */ struct gsm0808_speech_codec { bool fi; bool pi; bool pt; bool tf; + /*! See enum gsm0808_speech_codec_type. */ uint8_t type; + /*! For examples, see enum gsm0808_speech_codec_defaults. */ uint16_t cfg; }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9b4c7e737c83c65e358496e4540c14be5abc5474 Gerrit-Change-Number: 15659 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 Oct 2 19:10:33 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Oct 2019 19:10:33 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_watch() Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15660 Change subject: add osmo_fsm_inst_watch() ...................................................................... add osmo_fsm_inst_watch() I discovered an osmo-msc use-after-free crash from an invalid message, caused by this pattern: void event_action() { osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } Usually, FOO_EVENT takes successful action, and afterwards we also notify bar of another event. However, in this particular case FOO_EVENT caused failure, and the immediate error handling directly terminated and deallocated bar. In such cases, dispatching BAR_EVENT causes a use-after-free; this constituted a DoS vector just from sending messages that fail to validate to osmo-msc. Instead, introduce this pattern for accessing FSM instances after failure-critical actions, which watches out for a given osmo_fsm_inst's deallocation: void event_action() { struct osmo_fsm_inst_watcher watch_bar; osmo_fsm_inst_watch(&watch_bar, bar); osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); osmo_fsm_inst_unwatch(&watch_bar); if (watch_bar.exists) osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } Implementation: at first I had thought of a simple lookup whether bar still is listed in the bar->fsm list of osmo_fsm_inst instances. That worked well, but theoretically, after a deallocation, another FSM may have been allocated, possibly at the exact same memory address. This chance is slim, but nevertheless quite possible. The only fully safe way is to explicitly watch an instance. Test: incorporate FSM instance watchers in fsm_dealloc_test.c, with OSMO_ASSERTs verifying that the watchers reflect exactly whether an object is still allocated. Though the test's expected output does not print anything when the osmo_fsm_inst_watchers reflect the expected values, I did verify that the test catches bugs when introduced deliberately. Related: Iaa8e3da2969ebb4c78bff11d0d59f01b10f341d7 (osmo-msc), I790d2172c7c67610915cb74b0766fb18f2795b29 (osmo-mgw) Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 --- M include/osmocom/core/fsm.h M src/fsm.c M tests/fsm/fsm_dealloc_test.c 3 files changed, 114 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15660/1 diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 1701c45..2487124 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -116,6 +116,8 @@ struct llist_head child; /*! Indicator whether osmo_fsm_inst_term() was already invoked on this instance. */ bool terminating; + /*! See osmo_fsm_inst_watch(). */ + struct llist_head watchers; } proc; }; @@ -324,4 +326,12 @@ void *data, const char *file, int line); +struct osmo_fsm_inst_watcher { + struct llist_head entry; + bool exists; +}; + +void osmo_fsm_inst_watch(struct osmo_fsm_inst_watcher *watcher, struct osmo_fsm_inst *fi); +void osmo_fsm_inst_unwatch(struct osmo_fsm_inst_watcher *watcher); + /*! @} */ diff --git a/src/fsm.c b/src/fsm.c index c886351..03f22cb 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -418,6 +418,7 @@ INIT_LLIST_HEAD(&fi->proc.children); INIT_LLIST_HEAD(&fi->proc.child); + INIT_LLIST_HEAD(&fi->proc.watchers); llist_add(&fi->list, &fsm->instances); LOGPFSM(fi, "Allocated\n"); @@ -502,6 +503,15 @@ */ void osmo_fsm_inst_free(struct osmo_fsm_inst *fi) { + struct osmo_fsm_inst_watcher *watcher; + + /* Notify all watchers that this is deallocating. */ + llist_for_each_entry(watcher, &fi->proc.watchers, entry) { + watcher->exists = false; + /* There is no need to llist_del(), setting exists = false already signals that the llist's head no + * longer exists, and the watcher->entry should be considered to be floating alone. */ + } + osmo_timer_del(&fi->timer); llist_del(&fi->list); @@ -972,4 +982,68 @@ { 0, NULL } }; +/* Monitor a specific osmo_fsm_inst instance to detect whether it has terminated. + * For example, if you would like to do this: + * + * osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); + * osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); + * + * If FSM instances foo and bar are linked in a way that the FOO_EVENT may cause bar to terminate, either directly or + * via various other FSM instances that dispatch events ("dominoes"), then dispatching BAR_EVENT may cause a + * use-after-free failure. + * + * To prevent this and detect a deallocation of bar, one could look up whether bar is still listed as an instance in + * bar->fsm->instances. But, even if that exact pointer has been terminated and deallocated, a new FSM instance might + * have been in turn allocated after that, coincidentally at exactly the same memory address. + * + * The only way to safely determine whether a particular FSM instance has deallocated is to put attach this handle on + * it. When the instance deallocates, it will write false to watcher->exists. + * + * Do not forget to unwatch: it is required to call osmo_fsm_inst_unwatch(watcher) if the instance has not yet + * deallocated; if it has deallocated, calling osmo_fsm_inst_unwatch() is optional (has no effect). + * Above dispatch of BAR_EVENT can be safeguarded like this: + * + * struct osmo_fsm_inst_watcher watch_bar; + * osmo_fsm_inst_watch(&watch_bar, bar); + * + * osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); + * if (watch_bar.exists) + * osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); + * + * osmo_fsm_inst_unwatch(&watch_bar); + * + * watch_bar.exists will be set to false just before the instance is actually being deallocated. + * Even if watch_bar.exists is found to be true, bar may already be busy terminating, but not yet freed (see + * osmo_fsm_term_safely()). To also avoid dispatching events to FSM instances that are terminating, use: + * + * if (watch_bar.exists && !bar->proc.terminating) + * osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); + * + * \param[in,out] watcher The watcher instance to use for watching fi. + * \param[in] fi The FSM instance to watch. + */ +void osmo_fsm_inst_watch(struct osmo_fsm_inst_watcher *watcher, struct osmo_fsm_inst *fi) +{ + osmo_fsm_inst_unwatch(watcher); + watcher->exists = (fi != NULL); + if (!watcher->exists) + return; + llist_add(&watcher->entry, &fi->proc.watchers); +} + +/* Remove an osmo_fsm_inst_watcher from the fi it was watching, see osmo_fsm_inst_watch(). + * It is safe to call osmo_fsm_inst_unwatch() any number of times on the same watcher. + * The watcher->exists flag retains its value when calling osmo_fsm_inst_unwatch(). + * \param[in] watcher A watcher instance on which osmo_fsm_inst_watch() has been called earlier. + */ +void osmo_fsm_inst_unwatch(struct osmo_fsm_inst_watcher *watcher) +{ + /* Safeguard against calling osmo_fsm_inst_unwatch() more than once. */ + if (!watcher->entry.prev) + return; + if (watcher->exists) + llist_del(&watcher->entry); + watcher->entry = (struct llist_head){}; +} + /*! @} */ diff --git a/tests/fsm/fsm_dealloc_test.c b/tests/fsm/fsm_dealloc_test.c index ce49205..c8ad029 100644 --- a/tests/fsm/fsm_dealloc_test.c +++ b/tests/fsm/fsm_dealloc_test.c @@ -39,6 +39,7 @@ struct scene { struct obj *o[scene_size]; + struct osmo_fsm_inst_watcher watcher[scene_size]; /* The use count is actually just to help tracking what functions have not exited yet */ struct osmo_use_count use_count; @@ -292,6 +293,7 @@ static struct scene *scene_alloc() { + int i; struct scene *s = talloc_zero(ctx, struct scene); s->use_count.talloc_object = s; s->use_count.use_cb = use_cb; @@ -317,6 +319,14 @@ obj_set_other(s->o[branch1], s->o[other]); obj_set_other(s->o[twig1a], s->o[root]); + for (i = 0; i < ARRAY_SIZE(s->o); i++) { + struct obj *o = s->o[i]; + struct osmo_fsm_inst_watcher *watcher = &s->watcher[i]; + if (o) + osmo_fsm_inst_watch(watcher, o->fi); + else + watcher->exists = false; + } return s; } @@ -325,9 +335,23 @@ int i; int got = 0; for (i = 0; i < ARRAY_SIZE(s->o); i++) { - if (!s->o[i]) + if (!s->o[i]) { + if (s->watcher[i].exists) { + LOGP(DLGLOBAL, LOGL_ERROR, + " ERROR: obj[%d]: obj deallocated," + " but osmo_fsm_inst_watcher still says exists==true\n", + i); + OSMO_ASSERT(false); + } continue; + } LOGP(DLGLOBAL, LOGL_DEBUG, " %s\n", s->o[i]->fi->id); + if (!s->watcher[i].exists) { + LOGP(DLGLOBAL, LOGL_ERROR, + " ERROR: obj[%d]: obj still present, but osmo_fsm_inst_watcher says exists==false\n", + i); + OSMO_ASSERT(false); + } got++; } return got; @@ -337,6 +361,11 @@ { int i; for (i = 0; i < ARRAY_SIZE(s->o); i++) { + /* Call unwatch on both existing and already deallocated instances, all should work fine. */ + osmo_fsm_inst_unwatch(&s->watcher[i]); + /* Verify that calling unwatch twice is fine */ + osmo_fsm_inst_unwatch(&s->watcher[i]); + if (!s->o[i]) continue; osmo_fsm_inst_term(s->o[i]->fi, OSMO_FSM_TERM_ERROR, 0); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 Gerrit-Change-Number: 15660 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 Oct 2 19:10:33 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Oct 2019 19:10:33 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_dispatch_and_watch() Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15661 Change subject: add osmo_fsm_inst_dispatch_and_watch() ...................................................................... add osmo_fsm_inst_dispatch_and_watch() The most common use case for osmo_fsm_inst_watch() is to dispatch an event and determine whether that caused deallocation. Add this convenience wrapper to simplify implementing this use case. This: void event_action() { struct osmo_fsm_inst_watcher watch_bar; osmo_fsm_inst_watch(&watch_bar, bar); osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); osmo_fsm_inst_unwatch(&watch_bar); if (watch_bar.exists) osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } becomes: void event_action() { if (osmo_fsm_inst_dispatch_and_watch(foo, FOO_EVENT, NULL, bar, NULL)) osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } Change-Id: Ie9a77783d2052d4677fc5d0a7eb15f9e3b0fda8f --- M include/osmocom/core/fsm.h M src/fsm.c 2 files changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/15661/1 diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 2487124..8e9ed77 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -301,6 +301,20 @@ int _osmo_fsm_inst_dispatch(struct osmo_fsm_inst *fi, uint32_t event, void *data, const char *file, int line); +/*! dispatch an event to an FSM instance, while watching out for deallocation of this or another instance. + * + * This is a convenience wrapper for using osmo_fsm_inst_watch() and osmo_fsm_inst_dispatch(). + * + * This is a macro that calls _osmo_fsm_inst_dispatch_and_watch() with the given + * parameters as well as the caller's source file and line number for logging + * purposes. See there for documentation. + */ +#define osmo_fsm_inst_dispatch_and_watch(fi, event, data, watch_fi, rc_p) \ + _osmo_fsm_inst_dispatch_and_watch(fi, event, data, watch_fi, rc_p, __FILE__, __LINE__) +bool _osmo_fsm_inst_dispatch_and_watch(struct osmo_fsm_inst *fi, uint32_t event, void *data, + struct osmo_fsm_inst *watch_fi, int *rc_p, + const char *file, int line); + /*! Terminate FSM instance with given cause * * This is a macro that calls _osmo_fsm_inst_term() with the given parameters diff --git a/src/fsm.c b/src/fsm.c index 03f22cb..526a7ad 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -836,6 +836,33 @@ return 0; } +/*! dispatch an event to an FSM instance, while watching out for deallocation of this or another instance. + * + * This is a convenience wrapper for using osmo_fsm_inst_watch() and osmo_fsm_inst_dispatch(). + * + * \param[in] fi FSM instance to dispatch event to. + * \param[in] event Event to dispatch. + * \param[in] data Data to pass along with the event. + * \param[in] watch_fi FSM instance to watch deallocation of (possibly but not necessarily identical to fi). + * \param[out] rc_p If not NULL, return the _osmo_fsm_inst_dispatch() return value in this int. + * \param[in] file Calling source file (from osmo_fsm_inst_dispatch macro) + * \param[in] line Calling source line (from osmo_fsm_inst_dispatch macro) + * \returns true if watch_fi still exists after dispatching the event, false if it was deallocated or was NULL. + */ +bool _osmo_fsm_inst_dispatch_and_watch(struct osmo_fsm_inst *fi, uint32_t event, void *data, + struct osmo_fsm_inst *watch_fi, int *rc_p, + const char *file, int line) +{ + int rc; + struct osmo_fsm_inst_watcher watcher; + osmo_fsm_inst_watch(&watcher, watch_fi); + rc = _osmo_fsm_inst_dispatch(fi, event, data, file, line); + osmo_fsm_inst_unwatch(&watcher); + if (rc_p) + *rc_p = rc; + return watcher.exists; +} + /*! Terminate FSM instance with given cause * * This safely terminates the given FSM instance by first iterating -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie9a77783d2052d4677fc5d0a7eb15f9e3b0fda8f Gerrit-Change-Number: 15661 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 Oct 2 19:35:41 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 2 Oct 2019 19:35:41 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_watch() 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/+/15660 to look at the new patch set (#2). Change subject: add osmo_fsm_inst_watch() ...................................................................... add osmo_fsm_inst_watch() I discovered an osmo-msc use-after-free crash from an invalid message, caused by this pattern: void event_action() { osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } Usually, FOO_EVENT takes successful action, and afterwards we also notify bar of another event. However, in this particular case FOO_EVENT caused failure, and the immediate error handling directly terminated and deallocated bar. In such cases, dispatching BAR_EVENT causes a use-after-free; this constituted a DoS vector just from sending messages that fail to validate to osmo-msc. Instead, introduce this pattern for accessing FSM instances after failure-critical actions, which watches out for a given osmo_fsm_inst's deallocation: void event_action() { struct osmo_fsm_inst_watcher watch_bar; osmo_fsm_inst_watch(&watch_bar, bar); osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); osmo_fsm_inst_unwatch(&watch_bar); if (watch_bar.exists) osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } Implementation: at first I had thought of a simple lookup whether bar still is listed in the bar->fsm list of osmo_fsm_inst instances. That worked well, but theoretically, after a deallocation, another FSM may have been allocated, possibly at the exact same memory address. This chance is slim, but nevertheless quite possible. The only fully safe way is to explicitly watch an instance. Test: incorporate FSM instance watchers in fsm_dealloc_test.c, with OSMO_ASSERTs verifying that the watchers reflect exactly whether an object is still allocated. Though the test's expected output does not print anything when the osmo_fsm_inst_watchers reflect the expected values, I did verify that the test catches bugs when introduced deliberately. Related: Iaa8e3da2969ebb4c78bff11d0d59f01b10f341d7 (osmo-msc), I790d2172c7c67610915cb74b0766fb18f2795b29 (osmo-mgw) Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 --- M include/osmocom/core/fsm.h M src/fsm.c M tests/fsm/fsm_dealloc_test.c 3 files changed, 116 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15660/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 Gerrit-Change-Number: 15660 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 2 20:08:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 20:08:46 +0000 Subject: Change in ...libosmocore[master]: API doc tweaks (mncc.h, gsm_08_08.h) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15659 ) Change subject: API doc tweaks (mncc.h, gsm_08_08.h) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9b4c7e737c83c65e358496e4540c14be5abc5474 Gerrit-Change-Number: 15659 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 20:08: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 Oct 2 22:21:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 2 Oct 2019 22:21:21 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_watch() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15660 ) Change subject: add osmo_fsm_inst_watch() ...................................................................... Patch Set 2: TBH I don't like this API, I think it's too specific. I'd rather add a free_cb, which is more common for readers and more generic (can be reused for other purposes): void mycb(fi, pdata) { bool *freed = (bool*) pdata; freed = true; } void event_action() { bool freed = false; osmo_fsm_free_cb_set(fi, mycb, freed); osmo_fsm_inst(....) if (!freed) return; osmo_fsm_inst(....) } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 Gerrit-Change-Number: 15660 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 02 Oct 2019 22:21:21 +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 Oct 3 01:36:33 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 01:36:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9550ab3e223_6872ac66c3d65f0364982@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 463s] asciidoc: control_if.adoc: line 110: filtering: "/usr/bin/python3" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__52.png" -Tpng - [ 463s] asciidoc: control_if.adoc: line 115: evaluating: {counter2:target-number} [ 463s] asciidoc: control_if.adoc: line 115: evaluating: {set2:target:test-usermanual__53.png} [ 463s] asciidoc: control_if.adoc: line 121: filtering: "/usr/bin/python3" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__53.png" -Tpng - [ 463s] asciidoc: control_if.adoc: line 131: evaluating: {counter2:target-number} [ 463s] asciidoc: control_if.adoc: line 131: evaluating: {set2:target:test-usermanual__54.png} [ 463s] asciidoc: control_if.adoc: line 136: filtering: "/usr/bin/python3" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -Tpng - [ 463s] a2x: ERROR: "/usr/bin/asciidoc" --backend docbook -a "a2x-format=pdf" -f ../build/mscgen-filter.conf -f ../build/diag-filter.conf -f ../build/docinfo-releaseinfo.conf -f ../build/python2-filter.conf -a srcdir='.' -a commondir='../common' --attribute "docinfo" --attribute "revnumber=DRAFT " --attribute "revdate=unknown" --verbose --out-file "/usr/src/packages/BUILD/tests/test-usermanual.xml" "/usr/src/packages/BUILD/tests/test-usermanual.adoc" returned non-zero exit status 1 [ 463s] [ 463s] [ 463s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 463s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 463s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 463s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 463s] make[1]: *** [Makefile:362: all] Error 2 [ 463s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 463s] dh_auto_build: make -j1 returned exit code 2 [ 463s] make: *** [debian/rules:5: binary] Error 255 [ 463s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 463s] [ 463s] lamb27 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Thu Oct 3 01:36:14 UTC 2019. [ 463s] [ 464s] ### VM INTERACTION START ### [ 467s] [ 445.965856] sysrq: SysRq : Power Off [ 467s] [ 445.987117] reboot: Power down [ 467s] ### VM INTERACTION END ### [ 467s] [ 467s] lamb27 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Thu Oct 3 01:36:18 UTC 2019. [ 467s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 01:43:59 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 01:43:59 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d95526ac495a_6872ac66c3d65f036572e@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: [ 521s] ar: `u' modifier ignored since `D' is the default (see `U') [ 521s] libtool: link: ranlib .libs/libtransceiver_common.a [ 521s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 521s] /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 [ 521s] 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 [ 521s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 521s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 521s] collect2: error: ld returned 1 exit status [ 521s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 521s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 521s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 521s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 521s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 521s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 521s] make[1]: *** [Makefile:444: all] Error 2 [ 521s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 521s] dh_auto_build: make -j1 returned exit code 2 [ 521s] make: *** [debian/rules:6: build] Error 255 [ 521s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 521s] [ 521s] lamb57 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 01:43:39 UTC 2019. [ 521s] [ 521s] ### VM INTERACTION START ### [ 524s] [ 505.213897] sysrq: SysRq : Power Off [ 524s] [ 505.230677] reboot: Power down [ 524s] ### VM INTERACTION END ### [ 524s] [ 524s] lamb57 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 01:43:42 UTC 2019. [ 524s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 01:49:43 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 01:49:43 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9553d5499bb_6872ac66c3d65f03674a8@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: [ 635s] ar: `u' modifier ignored since `D' is the default (see `U') [ 635s] libtool: link: ranlib .libs/libtransceiver_common.a [ 635s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 635s] /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 [ 635s] 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 [ 635s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 635s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 635s] collect2: error: ld returned 1 exit status [ 635s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 635s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 635s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 635s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 635s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 635s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 635s] make[1]: *** [Makefile:444: all] Error 2 [ 635s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 635s] dh_auto_build: make -j1 returned exit code 2 [ 635s] make: *** [debian/rules:6: build] Error 255 [ 635s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 635s] [ 635s] lamb27 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 01:49:25 UTC 2019. [ 635s] [ 636s] ### VM INTERACTION START ### [ 639s] [ 614.763781] sysrq: SysRq : Power Off [ 639s] [ 614.775961] reboot: Power down [ 639s] ### VM INTERACTION END ### [ 639s] [ 639s] lamb27 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 01:49:30 UTC 2019. [ 639s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 01:50:34 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 01:50:34 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9553f2221d5_6872ac66c3d65f03678de@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: [ 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 [ 484s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 484s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 484s] collect2: error: ld returned 1 exit status [ 484s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 484s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 484s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 484s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 484s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 484s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 484s] make[1]: *** [Makefile:444: all] Error 2 [ 484s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 484s] dh_auto_build: make -j1 returned exit code 2 [ 484s] make: *** [debian/rules:6: build] Error 255 [ 484s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 484s] [ 484s] lamb22 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 01:50:26 UTC 2019. [ 484s] [ 484s] ### VM INTERACTION START ### [ 488s] [ 467.612198] sysrq: SysRq : Power Off [ 488s] [ 467.617730] reboot: Power down [ 488s] ### VM INTERACTION END ### [ 488s] [ 488s] lamb22 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 01:50:30 UTC 2019. [ 488s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 02:04:16 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 02:04:16 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d95573a22880_6872ac66c3d65f03704e4@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: [ 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 [ 509s] 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 [ 509s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 509s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 509s] collect2: error: ld returned 1 exit status [ 509s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 509s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 509s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 509s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 509s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 509s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 509s] make[1]: *** [Makefile:444: all] Error 2 [ 509s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 509s] 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] lamb56 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 02:03:55 UTC 2019. [ 509s] [ 509s] ### VM INTERACTION START ### [ 512s] [ 489.533415] sysrq: SysRq : Power Off [ 512s] [ 489.539361] reboot: Power down [ 512s] ### VM INTERACTION END ### [ 512s] [ 512s] lamb56 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 02:03:59 UTC 2019. [ 512s] -- 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 Oct 3 07:17:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Oct 2019 07:17:07 +0000 Subject: Change in ...libosmocore[master]: API doc tweaks (mncc.h, gsm_08_08.h) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15659 ) Change subject: API doc tweaks (mncc.h, gsm_08_08.h) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9b4c7e737c83c65e358496e4540c14be5abc5474 Gerrit-Change-Number: 15659 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 07:17: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 Oct 3 07:33:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Oct 2019 07:33:44 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_watch() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15660 ) Change subject: add osmo_fsm_inst_watch() ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15660/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15660/2//COMMIT_MSG at 20 PS2, Line 20: immediate error handling directly terminated and deallocated bar Looking at the problem from the other side: can we delay deallocation of the FSM instances and move it to osmo_select_main()? This way calling osmo_fsm_inst_term() would not deallocate a given FSM immediately, but just mark it as 'to be deallocated' instead, and you will be sure that bar still exists (we may want to discard all events in such case). https://gerrit.osmocom.org/#/c/15660/2//COMMIT_MSG at 32 PS2, Line 32: osmo_fsm_inst_watch More I learn Erlang, more I realize that we're basically reimplementing basic primitives that it already has. At least this could be done using 'erlang:monitor/2'. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 Gerrit-Change-Number: 15660 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 07:33:44 +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 Oct 3 11:27:42 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 11:27:42 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d95db49ef66f_6872ac66c3d65f04770ef@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: [ 350s] asciidoc: control_if.adoc: line 136: filtering: "/usr/bin/python3" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -Tpng - [ 350s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/spectrum.adoc [ 350s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/spectrum.adoc [ 350s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/gfdl.adoc [ 350s] asciidoc: test-usermanual.adoc: line 31: reading: /usr/src/packages/BUILD/common/chapters/gfdl.adoc [ 350s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/gb.adoc [ 350s] asciidoc: test-usermanual.adoc: line 32: reading: /usr/src/packages/BUILD/common/chapters/gb.adoc [ 350s] a2x: ERROR: "/usr/bin/asciidoc" --backend docbook -a "a2x-format=pdf" -f ../build/mscgen-filter.conf -f ../build/diag-filter.conf -f ../build/docinfo-releaseinfo.conf -f ../build/python2-filter.conf -a srcdir='.' -a commondir='../common' --attribute "docinfo" --attribute "revnumber=DRAFT " --attribute "revdate=unknown" --verbose --out-file "/usr/src/packages/BUILD/tests/test-usermanual.xml" "/usr/src/packages/BUILD/tests/test-usermanual.adoc" returned non-zero exit status 1 [ 350s] [ 350s] [ 350s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 350s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 350s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 350s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 350s] make[1]: *** [Makefile:362: all] Error 2 [ 350s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 350s] dh_auto_build: make -j1 returned exit code 2 [ 350s] make: *** [debian/rules:5: binary] Error 255 [ 350s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 350s] [ 350s] cloud114 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Thu Oct 3 11:27:34 UTC 2019. [ 350s] [ 350s] ### VM INTERACTION START ### [ 353s] [ 317.594088] sysrq: SysRq : Power Off [ 353s] [ 317.602264] reboot: Power down [ 354s] ### VM INTERACTION END ### [ 354s] [ 354s] cloud114 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Thu Oct 3 11:27:38 UTC 2019. [ 354s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 11:35:25 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 11:35:25 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d95dd0b9c625_6872ac66c3d65f047833@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 [ 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 [ 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] lamb15 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 11:35:10 UTC 2019. [ 423s] [ 423s] ### VM INTERACTION START ### [ 426s] [ 407.606916] sysrq: SysRq : Power Off [ 426s] [ 407.612337] reboot: Power down [ 426s] ### VM INTERACTION END ### [ 426s] [ 426s] lamb15 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 11:35:13 UTC 2019. [ 426s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 11:39:25 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 11:39:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d95ddfd30ba9_6872ac66c3d65f04793dd@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: [ 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 [ 445s] 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] lamb07 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 11:39:14 UTC 2019. [ 446s] [ 446s] ### VM INTERACTION START ### [ 449s] [ 431.154521] sysrq: SysRq : Power Off [ 449s] [ 431.160246] reboot: Power down [ 449s] ### VM INTERACTION END ### [ 449s] [ 449s] lamb07 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 11:39:18 UTC 2019. [ 449s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 11:41:25 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 11:41:25 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d95de75c432f_6872ac66c3d65f0479717@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: [ 573s] ar: `u' modifier ignored since `D' is the default (see `U') [ 574s] libtool: link: ranlib .libs/libtransceiver_common.a [ 574s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 574s] /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 [ 574s] 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 [ 574s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 574s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 574s] collect2: error: ld returned 1 exit status [ 574s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 574s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 574s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 574s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 574s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 574s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 574s] make[1]: *** [Makefile:444: all] Error 2 [ 574s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 574s] dh_auto_build: make -j1 returned exit code 2 [ 574s] make: *** [debian/rules:6: build] Error 255 [ 574s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 575s] [ 575s] morla3 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 11:41:14 UTC 2019. [ 575s] [ 575s] ### VM INTERACTION START ### [ 578s] [ 553.553567] sysrq: SysRq : Power Off [ 578s] [ 553.584286] reboot: Power down [ 578s] ### VM INTERACTION END ### [ 578s] [ 578s] morla3 failed "build osmo-trx_1.1.1.dsc" at Thu Oct 3 11:41:18 UTC 2019. [ 578s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 3 11:43:42 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 03 Oct 2019 11:43:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d95df0ccc73f_6872ac66c3d65f0480437@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: [ 686s] ar: `u' modifier ignored since `D' is the default (see `U') [ 686s] libtool: link: ranlib .libs/libtransceiver_common.a [ 686s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 686s] /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 [ 687s] 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 [ 687s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 687s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 687s] collect2: error: ld returned 1 exit status [ 687s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 687s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 687s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 687s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 687s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 687s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 687s] make[1]: *** [Makefile:444: all] Error 2 [ 687s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 687s] dh_auto_build: make -j1 returned exit code 2 [ 687s] make: *** [debian/rules:6: build] Error 255 [ 687s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 687s] [ 687s] lamb60 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 11:43:38 UTC 2019. [ 687s] [ 687s] ### VM INTERACTION START ### [ 690s] [ 641.761698] sysrq: SysRq : Power Off [ 690s] [ 641.774670] reboot: Power down [ 690s] ### VM INTERACTION END ### [ 690s] [ 690s] lamb60 failed "build osmo-trx_1.1.1.29.e503.dsc" at Thu Oct 3 11:43:41 UTC 2019. [ 690s] -- 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 Oct 3 11:57:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 11:57:30 +0000 Subject: Change in ...docker-playground[master]: ttcn-*: Fix gsmtap log not enabled Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15662 Change subject: ttcn-*: Fix gsmtap log not enabled ...................................................................... ttcn-*: Fix gsmtap log not enabled gsmtap log won't be sending any message unless it is allowed by "logging filter all 1". Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/osmo-stp.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bscnat-test/osmo-bsc-nat.cfg M ttcn3-bts-test/oml/osmo-bts.cfg M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-bts-test/osmo-bts.cfg M ttcn3-bts-test/virtphy/osmo-bts.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg M ttcn3-hlr-test/osmo-hlr.cfg M ttcn3-mgw-test/osmo-mgw.cfg M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg M ttcn3-pcu-test/osmo-pcu.cfg M ttcn3-pcu-test/sns/osmo-pcu.cfg M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sgsn-test/osmo-stp.cfg M ttcn3-sip-test/osmo-sip-connector.cfg 18 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/62/15662/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 5bb1525..2f6ab99 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -5,6 +5,7 @@ ! log gsmtap 172.18.2.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc.log logging filter all 1 diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index f58fe64..084f3ed 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.2.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-stp.log logging filter all 1 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 1cbd0c8..0ef5135 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -5,6 +5,7 @@ ! log gsmtap 172.18.12.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc.log logging filter all 1 diff --git a/ttcn3-bscnat-test/osmo-bsc-nat.cfg b/ttcn3-bscnat-test/osmo-bsc-nat.cfg index 66ecdc9..b873b21 100644 --- a/ttcn3-bscnat-test/osmo-bsc-nat.cfg +++ b/ttcn3-bscnat-test/osmo-bsc-nat.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.15.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc_nat.log logging filter all 1 diff --git a/ttcn3-bts-test/oml/osmo-bts.cfg b/ttcn3-bts-test/oml/osmo-bts.cfg index 562440b..2ed761a 100644 --- a/ttcn3-bts-test/oml/osmo-bts.cfg +++ b/ttcn3-bts-test/oml/osmo-bts.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bts.log logging filter all 1 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index b2a45bc..8b04f4a 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -5,6 +5,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc.log logging filter all 1 diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 11afc0d..b8ad8ee 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bts.log logging filter all 1 diff --git a/ttcn3-bts-test/virtphy/osmo-bts.cfg b/ttcn3-bts-test/virtphy/osmo-bts.cfg index 540dcc3..ce47b6d 100644 --- a/ttcn3-bts-test/virtphy/osmo-bts.cfg +++ b/ttcn3-bts-test/virtphy/osmo-bts.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bts.log logging filter all 1 diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index fd1ea95..6644dae 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.3.202 logging level set-all debug + logging filter all 1 ! log file /data/osmo-ggsn.log logging filter all 1 diff --git a/ttcn3-hlr-test/osmo-hlr.cfg b/ttcn3-hlr-test/osmo-hlr.cfg index 57c1701..c5dcd89 100644 --- a/ttcn3-hlr-test/osmo-hlr.cfg +++ b/ttcn3-hlr-test/osmo-hlr.cfg @@ -3,6 +3,7 @@ ! log gsmtap 172.18.10.103 logging level set-all debug + logging filter all 1 ! log stderr logging filter all 1 diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index 86645ba..3c08ee0 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.4.181 logging level set-all debug + logging filter all 1 ! log stderr logging filter all 1 diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index 98a1a01..48765d2 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.1.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-msc.log logging filter all 1 diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index 1310be2..620fa68 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.1.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-stp.log logging filter all 1 diff --git a/ttcn3-pcu-test/osmo-pcu.cfg b/ttcn3-pcu-test/osmo-pcu.cfg index c1ed139..e486362 100644 --- a/ttcn3-pcu-test/osmo-pcu.cfg +++ b/ttcn3-pcu-test/osmo-pcu.cfg @@ -1,5 +1,6 @@ log gsmtap 172.18.13.10 logging level set-all debug + logging filter all 1 log file /data/osmo-pcu.log logging filter all 1 diff --git a/ttcn3-pcu-test/sns/osmo-pcu.cfg b/ttcn3-pcu-test/sns/osmo-pcu.cfg index b7c57d1..0b20ecb 100644 --- a/ttcn3-pcu-test/sns/osmo-pcu.cfg +++ b/ttcn3-pcu-test/sns/osmo-pcu.cfg @@ -1,5 +1,6 @@ log gsmtap 172.18.14.10 logging level set-all debug + logging filter all 1 log file /data/osmo-pcu.log logging filter all 1 diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index 0ca1a1d..5bf7325 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.8.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-sgsn.log logging filter all 1 diff --git a/ttcn3-sgsn-test/osmo-stp.cfg b/ttcn3-sgsn-test/osmo-stp.cfg index 1871358..30adf32 100644 --- a/ttcn3-sgsn-test/osmo-stp.cfg +++ b/ttcn3-sgsn-test/osmo-stp.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.1.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-stp.log logging filter all 1 diff --git a/ttcn3-sip-test/osmo-sip-connector.cfg b/ttcn3-sip-test/osmo-sip-connector.cfg index efdee58..04ef19c 100644 --- a/ttcn3-sip-test/osmo-sip-connector.cfg +++ b/ttcn3-sip-test/osmo-sip-connector.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.11.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-sip-connector.log logging filter all 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 Gerrit-Change-Number: 15662 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 Oct 3 12:01:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 12:01:29 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable logging color in osmo-pcu.log In-Reply-To: References: Message-ID: pespin 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: Verified+1 -- 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-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 12:01: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 Oct 3 12:01:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 12:01:41 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable logging color in osmo-pcu.log In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) Approvals: fixeria: Looks good to me, approved pespin: Verified 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-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 Oct 3 12:17:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 12:17:32 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable GSMTAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15635 ) Change subject: ttcn3-pcu: Enable GSMTAP ...................................................................... Patch Set 1: Verified+1 Fixed with followup commits. -- 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-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 12:17: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 Thu Oct 3 12:18:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 12:18:07 +0000 Subject: Change in ...docker-playground[master]: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-h... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15652 ) Change subject: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks ...................................................................... Patch Set 1: See https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 Gerrit-Change-Number: 15652 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 12:18: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 Oct 3 12:18:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 12:18:14 +0000 Subject: Change in ...docker-playground[master]: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-h... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15652 ) Change subject: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 Gerrit-Change-Number: 15652 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 12:18: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 Thu Oct 3 12:18:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 12:18:18 +0000 Subject: Change in ...docker-playground[master]: ttcn-*: Fix gsmtap log not enabled In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15662 ) Change subject: ttcn-*: Fix gsmtap log not enabled ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 Gerrit-Change-Number: 15662 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 12:18: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 Oct 3 15:36:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 15:36:59 +0000 Subject: Change in ...osmo-bsc[master]: gsm_08_08.c: Mark func bsc_find_msc() static Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15663 Change subject: gsm_08_08.c: Mark func bsc_find_msc() static ...................................................................... gsm_08_08.c: Mark func bsc_find_msc() static Its currently only used by bsc_compl_l3() in same file. Change-Id: I7273a9452dbc4c1285cfa69269fa36ab09551d89 --- M include/osmocom/bsc/osmo_bsc.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/15663/1 diff --git a/include/osmocom/bsc/osmo_bsc.h b/include/osmocom/bsc/osmo_bsc.h index bebfb2f..163e494 100644 --- a/include/osmocom/bsc/osmo_bsc.h +++ b/include/osmocom/bsc/osmo_bsc.h @@ -28,7 +28,6 @@ struct bsc_msc_data *msc, int send_ping); int bsc_delete_connection(struct gsm_subscriber_connection *sccp); -struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *); int bsc_scan_bts_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); int bsc_send_welcome_ussd(struct gsm_subscriber_connection *conn); diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 4b0752f..ad67c3f 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -269,7 +269,7 @@ return subscr; } -struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, +static struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *msg) { struct gsm48_hdr *gh; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7273a9452dbc4c1285cfa69269fa36ab09551d89 Gerrit-Change-Number: 15663 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 Oct 3 18:11:45 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 3 Oct 2019 18:11:45 +0000 Subject: Change in ...osmo-sgsn[master]: Avoid compiling unneeded files when building without Iu 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/+/15618 to look at the new patch set (#3). 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, 7 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/18/15618/3 -- 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: 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 Thu Oct 3 18:54:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 18:54:11 +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 3: Code-Review+1 -- 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: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 18:54: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 Oct 3 18:55:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 18:55:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce some function helpers Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 Change subject: pcu: Introduce some function helpers ...................................................................... pcu: Introduce some function helpers Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 44 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/15664/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 6b45af2..90404d8 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -552,6 +552,48 @@ return false; } +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +private function f_tx_pcuif_data_ind(octetstring data, int16_t lqual_cb := 0) +runs on RAW_PCU_Test_CT { + + 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_cb)); + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT)); +} + +private function f_tx_pcuif_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0) +runs on RAW_PCU_Test_CT { + var octetstring data; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_tx_pcuif_data_ind(data, lqual_cb); +} + +/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ +private function f_rx_pcuif_rlcmac_dl_block(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + 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); +} + +private function f_rx_pcuif_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + f_rx_pcuif_rlcmac_dl_block(dl_block); + if (not match(dl_block, tr_RLCMAC_ACK_NACK(ul_tfi := ?, tlli := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); + mtc.stop; + } +} + 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; @@ -661,31 +703,15 @@ 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)); + f_tx_pcuif_rlcmac_ul_block(ul_data, lqual * 10); /* 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; - } + f_rx_pcuif_rlcmac_dl_block_exp_ack_nack(dl_block); log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 Gerrit-Change-Number: 15664 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 Oct 3 19:22:39 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Oct 2019 19:22:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce some function helpers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 ) Change subject: pcu: Introduce some function helpers ...................................................................... Patch Set 1: Code-Review+1 (1 comment) Cool! I was also thinking about introducing some kind of abstraction functions. https://gerrit.osmocom.org/#/c/15664/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15664/1/pcu/PCU_Tests_RAW.ttcn at 570 PS1, Line 570: f_pad_oct(data, 23, '00'O); /* CS-1 */ We may want different coding schemes in the future, so the amount of padding may vary. I recommend to add another parameter of type ChCodingCommand, which will define the amount of padding. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 Gerrit-Change-Number: 15664 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 19:22:39 +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 Oct 3 19:27:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 3 Oct 2019 19:27:26 +0000 Subject: Change in ...osmo-sgsn[master]: Avoid compiling unneeded files when building without Iu In-Reply-To: References: Message-ID: fixeria 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 3: Code-Review+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: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 19:27: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 Oct 3 19:35:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 3 Oct 2019 19:35:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce some function helpers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 ) Change subject: pcu: Introduce some function helpers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15664/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15664/1/pcu/PCU_Tests_RAW.ttcn at 570 PS1, Line 570: f_pad_oct(data, 23, '00'O); /* CS-1 */ > We may want different coding schemes in the future, so the amount of padding may vary. [?] I think it's better to add them whenever we need them in the commit requiring the param. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 Gerrit-Change-Number: 15664 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 19:35:31 +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 Oct 3 19:51:03 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 3 Oct 2019 19:51:03 +0000 Subject: Change in ...osmo-sgsn[master]: Avoid compiling unneeded files when building without Iu In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 ) 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, 7 insertions(+), 8 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index 8bc1abb..6a7392b 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..d2b3455 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -22,9 +22,6 @@ */ #include "bscconfig.h" - -#ifdef BUILD_IU - #include #include @@ -220,4 +217,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: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Thu Oct 3 20:27:49 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 3 Oct 2019 20:27:49 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: lynxis lazus 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: (1 comment) 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?) no. otherwise it would follow the path in line 123 -- 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: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 03 Oct 2019 20:27:49 +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 Thu Oct 3 20:28:32 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 3 Oct 2019 20:28:32 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: pass return value of osmo_sccp_user_sap_down() towards the... Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15665 Change subject: iu_client: pass return value of osmo_sccp_user_sap_down() towards the caller ...................................................................... iu_client: pass return value of osmo_sccp_user_sap_down() towards the caller osmo_sccp_user_sap_down return 0 on success, negative values on failure Change-Id: I3b7c2296eb8b26f0881cee643b834336daab86ea --- M src/iu_client.c 1 file changed, 3 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/65/15665/1 diff --git a/src/iu_client.c b/src/iu_client.c index c309ce4..f4a9cd3 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -306,9 +306,7 @@ osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA, PRIM_OP_REQUEST, msg); - osmo_sccp_user_sap_down(g_scu, &prim->oph); - - return 0; + return osmo_sccp_user_sap_down(g_scu, &prim->oph); } int ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *uectx, const char *imsi) @@ -326,8 +324,7 @@ osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA, PRIM_OP_REQUEST, msg); - osmo_sccp_user_sap_down(g_scu, &prim->oph); - return 0; + return osmo_sccp_user_sap_down(g_scu, &prim->oph); } static int iu_grnc_id_parse(struct iu_grnc_id *dst, struct RANAP_GlobalRNC_ID *src) @@ -467,8 +464,7 @@ osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA, PRIM_OP_REQUEST, msg); - osmo_sccp_user_sap_down(g_scu, &prim->oph); - return 0; + return osmo_sccp_user_sap_down(g_scu, &prim->oph); } /* Send Iu Release for the given UE connection. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3b7c2296eb8b26f0881cee643b834336daab86ea Gerrit-Change-Number: 15665 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 Oct 3 20:28:33 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 3 Oct 2019 20:28:33 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: ranap_iu_tx_release() change default cause code to Success Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15666 Change subject: iu_client: ranap_iu_tx_release() change default cause code to Success ...................................................................... iu_client: ranap_iu_tx_release() change default cause code to Success The cause code no remaining rab should only used, when closing the Iu connection on this specific reason. Change default to NAS Sucess Release which is a usual release. Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 --- M src/iu_client.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/66/15666/1 diff --git a/src/iu_client.c b/src/iu_client.c index f4a9cd3..4b0acb0 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -468,15 +468,15 @@ } /* Send Iu Release for the given UE connection. - * If cause is NULL, the standard "No remaining RAB" cause is sent, otherwise + * If cause is NULL, Normal Release cause is sent, otherwise * the provided cause. */ int ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause) { struct msgb *msg; struct osmo_scu_prim *prim; static const struct RANAP_Cause default_cause = { - .present = RANAP_Cause_PR_radioNetwork, - .choice.radioNetwork = RANAP_CauseRadioNetwork_no_remaining_rab, + .present = RANAP_Cause_PR_nAS, + .choice.radioNetwork = RANAP_CauseNAS_normal_release, }; if (!cause) -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 Gerrit-Change-Number: 15666 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Oct 4 01:47:27 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 04 Oct 2019 01:47:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d96a4bd2919c_6872ac66c3d65f0649859@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: [ 419s] ar: `u' modifier ignored since `D' is the default (see `U') [ 419s] 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 [ 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 [ 420s] [ 420s] lamb55 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 01:47:14 UTC 2019. [ 420s] [ 420s] ### VM INTERACTION START ### [ 423s] [ 404.336557] sysrq: SysRq : Power Off [ 423s] [ 404.341739] reboot: Power down [ 423s] ### VM INTERACTION END ### [ 423s] [ 423s] lamb55 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 01:47:18 UTC 2019. [ 423s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 4 01:47:44 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 04 Oct 2019 01:47:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d96a4d787f1d_6872ac66c3d65f064998e@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: [ 327s] ar: `u' modifier ignored since `D' is the default (see `U') [ 327s] libtool: link: ranlib .libs/libtransceiver_common.a [ 327s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 327s] /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 [ 328s] 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 [ 328s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 328s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 328s] collect2: error: ld returned 1 exit status [ 328s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 328s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 328s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 328s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 328s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 328s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 328s] make[1]: *** [Makefile:444: all] Error 2 [ 328s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 328s] dh_auto_build: make -j1 returned exit code 2 [ 328s] make: *** [debian/rules:6: build] Error 255 [ 328s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 328s] [ 328s] sheep82 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 01:47:31 UTC 2019. [ 328s] [ 328s] ### VM INTERACTION START ### [ 331s] [ 317.782541] sysrq: SysRq : Power Off [ 331s] [ 317.792640] reboot: Power down [ 331s] ### VM INTERACTION END ### [ 331s] [ 331s] sheep82 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 01:47:35 UTC 2019. [ 331s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 4 02:03:10 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 04 Oct 2019 02:03:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d96a878dd5cf_6872ac66c3d65f0650816@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: [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9640 timestamp=1681769897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9641 timestamp=1681770057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9642 timestamp=1681770217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9643 timestamp=1681770377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9644 timestamp=1681770537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9645 timestamp=1681770697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9646 timestamp=1681770857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9647 timestamp=1681771017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 413s] --- expout 2019-10-04 02:02:29.680000000 +0000 [ 413s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/2/stdout 2019-10-04 02:02:39.820000000 +0000 [ 413s] @@ -1 +1 @@ [ 413s] -OK: Test passed [ 413s] +FAIL: test did not run successfully [ 413s] ./testsuite.at:14: exit code was 1, expected 0 [ 413s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) [ 413s] make[1]: *** [debian/rules:27: override_dh_auto_test] Error 1 [ 413s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 413s] make: *** [debian/rules:13: build] Error 2 [ 413s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 413s] [ 413s] obs-arm-6 failed "build libosmo-netif_0.6.0.4.8c7d.dsc" at Fri Oct 4 02:02:50 UTC 2019. [ 413s] [ 413s] ### VM INTERACTION START ### [ 416s] [ 387.232503] sysrq: SysRq : Power Off [ 416s] [ 387.290389] reboot: Power down [ 417s] ### VM INTERACTION END ### [ 417s] [ 417s] obs-arm-6 failed "build libosmo-netif_0.6.0.4.8c7d.dsc" at Fri Oct 4 02:02:54 UTC 2019. [ 417s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 4 06:31:10 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 04 Oct 2019 06:31:10 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d96e74c83706_6872ac66c3d65f068439e@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: [ 441s] ar: `u' modifier ignored since `D' is the default (see `U') [ 441s] libtool: link: ranlib .libs/libtransceiver_common.a [ 441s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 441s] /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 [ 441s] 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 [ 442s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 442s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 442s] collect2: error: ld returned 1 exit status [ 442s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 442s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 442s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 442s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 442s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 442s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 442s] make[1]: *** [Makefile:444: all] Error 2 [ 442s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 442s] dh_auto_build: make -j1 returned exit code 2 [ 442s] make: *** [debian/rules:6: build] Error 255 [ 442s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 442s] [ 442s] lamb01 failed "build osmo-trx_1.1.1.dsc" at Fri Oct 4 06:30:56 UTC 2019. [ 442s] [ 442s] ### VM INTERACTION START ### [ 445s] [ 424.605914] sysrq: SysRq : Power Off [ 445s] [ 424.614450] reboot: Power down [ 445s] ### VM INTERACTION END ### [ 445s] [ 445s] lamb01 failed "build osmo-trx_1.1.1.dsc" at Fri Oct 4 06:30:59 UTC 2019. [ 445s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 4 06:32:53 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 04 Oct 2019 06:32:53 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d96e7a4ab031_6872ac66c3d65f0684653@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: [ 440s] ar: `u' modifier ignored since `D' is the default (see `U') [ 440s] libtool: link: ranlib .libs/libtransceiver_common.a [ 440s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 440s] /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 [ 441s] 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 [ 441s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 441s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 441s] collect2: error: ld returned 1 exit status [ 441s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 441s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 441s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 441s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 441s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 441s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 441s] make[1]: *** [Makefile:444: all] Error 2 [ 441s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 441s] dh_auto_build: make -j1 returned exit code 2 [ 441s] make: *** [debian/rules:6: build] Error 255 [ 441s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 441s] [ 441s] lamb12 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 06:32:38 UTC 2019. [ 441s] [ 441s] ### VM INTERACTION START ### [ 444s] [ 425.486360] sysrq: SysRq : Power Off [ 444s] [ 425.492704] reboot: Power down [ 444s] ### VM INTERACTION END ### [ 444s] [ 444s] lamb12 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 06:32:42 UTC 2019. [ 444s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 4 06:36:36 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 04 Oct 2019 06:36:36 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d96e87878ca5_6872ac66c3d65f068509d@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: [ 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 [ 558s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 558s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 558s] collect2: error: ld returned 1 exit status [ 558s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 558s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 558s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 558s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 558s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 558s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 558s] make[1]: *** [Makefile:444: all] Error 2 [ 558s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 558s] dh_auto_build: make -j1 returned exit code 2 [ 558s] make: *** [debian/rules:6: build] Error 255 [ 558s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 558s] [ 558s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Fri Oct 4 06:36:24 UTC 2019. [ 558s] [ 558s] ### VM INTERACTION START ### [ 561s] [ 542.964755] sysrq: SysRq : Power Off [ 561s] [ 542.984991] reboot: Power down [ 561s] ### VM INTERACTION END ### [ 561s] [ 561s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Fri Oct 4 06:36:28 UTC 2019. [ 561s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 4 06:37:10 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 04 Oct 2019 06:37:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d96e8b096d0d_6872ac66c3d65f068510@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: [ 762s] ar: `u' modifier ignored since `D' is the default (see `U') [ 763s] libtool: link: ranlib .libs/libtransceiver_common.a [ 763s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 763s] /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 [ 763s] 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 [ 763s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 763s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 763s] collect2: error: ld returned 1 exit status [ 763s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 763s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 763s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 763s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 763s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 763s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 763s] make[1]: *** [Makefile:444: all] Error 2 [ 763s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 763s] dh_auto_build: make -j1 returned exit code 2 [ 763s] make: *** [debian/rules:6: build] Error 255 [ 763s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 763s] [ 763s] lamb26 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 06:36:54 UTC 2019. [ 763s] [ 763s] ### VM INTERACTION START ### [ 767s] [ 744.082803] sysrq: SysRq : Power Off [ 767s] [ 744.094886] reboot: Power down [ 767s] ### VM INTERACTION END ### [ 767s] [ 767s] lamb26 failed "build osmo-trx_1.1.1.29.e503.dsc" at Fri Oct 4 06:36:58 UTC 2019. [ 767s] -- 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 Oct 4 09:32:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 09:32:46 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: pass return value of osmo_sccp_user_sap_down() towards the... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15665 ) Change subject: iu_client: pass return value of osmo_sccp_user_sap_down() towards the caller ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3b7c2296eb8b26f0881cee643b834336daab86ea Gerrit-Change-Number: 15665 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 09:32: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 Oct 4 09:34:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 09:34:09 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: ranap_iu_tx_release() change default cause code to Success In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15666 ) Change subject: iu_client: ranap_iu_tx_release() change default cause code to Success ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15666/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15666/1//COMMIT_MSG at 9 PS1, Line 9: The cause code no remaining rab should only used, when closing the Iu connection should only be used when https://gerrit.osmocom.org/#/c/15666/1//COMMIT_MSG at 10 PS1, Line 10: on this specific reason. Change default to NAS Sucess Release which is a Success -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 Gerrit-Change-Number: 15666 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 09:34: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 Fri Oct 4 10:46:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 10:46:58 +0000 Subject: Change in ...libosmo-netif[master]: osmux: osmux_snprintf(): Append comma between osmux frames in msg Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15667 Change subject: osmux: osmux_snprintf(): Append comma between osmux frames in msg ...................................................................... osmux: osmux_snprintf(): Append comma between osmux frames in msg Change-Id: I7acaba9429466db6cb5700b206d6b42da5e4627a --- M src/osmux.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/67/15667/1 diff --git a/src/osmux.c b/src/osmux.c index 8b6a115..43b294c 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -1093,7 +1093,10 @@ return -1; } osmuxh = (struct osmux_hdr *)((uint8_t *)msg->data + msg_off); - + if (msg_off) { + ret = snprintf(buf + offset, remain, ", "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); + } ret = osmux_snprintf_header(buf + offset, remain, osmuxh); SNPRINTF_BUFFER_SIZE(ret, remain, offset); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7acaba9429466db6cb5700b206d6b42da5e4627a Gerrit-Change-Number: 15667 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 Oct 4 10:46:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 10:46:59 +0000 Subject: Change in ...libosmo-netif[master]: osmux: osmux_snprintf(): Remove dangling whitespace at the end of dum... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15668 Change subject: osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames ...................................................................... osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames Change-Id: I1ef73807c3300cbcc332f32e6bb905d9b30557be --- M src/osmux.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/68/15668/1 diff --git a/src/osmux.c b/src/osmux.c index 43b294c..9d058b0 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -1032,7 +1032,7 @@ ret = snprintf(buf, remain, "OSMUX seq=%03u ccid=%03u " "ft=%01u ctr=%01u " "amr_f=%01u amr_q=%01u " - "amr_ft=%02u amr_cmr=%02u ", + "amr_ft=%02u amr_cmr=%02u", osmuxh->seq, osmuxh->circuit_id, osmuxh->ft, osmuxh->ctr, osmuxh->amr_f, osmuxh->amr_q, @@ -1126,6 +1126,8 @@ } if (osmuxh->ft == OSMUX_FT_VOICE_AMR) { + ret = snprintf(buf + offset, remain, " "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); ret = osmux_snprintf_payload(buf + offset, remain, osmux_get_payload(osmuxh), payload_len); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I1ef73807c3300cbcc332f32e6bb905d9b30557be Gerrit-Change-Number: 15668 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 Oct 4 10:47:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 10:47:00 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Use fake time also for monotonic clock Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15669 Change subject: tests: osmux_test: Use fake time also for monotonic clock ...................................................................... tests: osmux_test: Use fake time also for monotonic clock Currently osmux related code uses both gettimeofday on some parts and clock_gettime(CLOCK_MONOTONIC) on others (for different purposes). Let's fake both clocks and not only the one used by gettimeofday API. Change-Id: I4e1a0eb4f8c4ea1bc0f963afa18b116d3af9978c --- M tests/osmux/osmux_test.c 1 file changed, 29 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/69/15669/1 diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index e2eb777..6825b56 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -63,6 +63,31 @@ static struct timeval last; #endif +#define clock_debug(fmt, args...) \ + do { \ + struct timespec ts; \ + struct timeval tv; \ + osmo_clock_gettime(CLOCK_MONOTONIC, &ts); \ + osmo_gettimeofday(&tv, NULL); \ + printf("sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt, \ + tv.tv_sec, tv.tv_usec, ts.tv_sec, ts.tv_nsec/1000, ##args); \ + } while(0) + +static void clock_override_enable(bool enable) +{ + osmo_gettimeofday_override = enable; + osmo_clock_override_enable(CLOCK_MONOTONIC, enable); +} + +static void clock_override_add_debug(long sec, long usec, bool dbg) +{ + osmo_gettimeofday_override_add(sec, usec); + osmo_clock_override_add(CLOCK_MONOTONIC, sec, usec*1000); + if (dbg) + clock_debug("clock_override_add\n"); +} +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, false) + static void tx_cb(struct msgb *msg, void *data) { struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; @@ -161,13 +186,13 @@ } } #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(0, PKT_TIME_USEC); + clock_override_add(0, PKT_TIME_USEC); #endif } while (rtp_pkts) { #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(1, 0); + clock_override_add(1, 0); #endif osmo_select_main(0); } @@ -234,7 +259,7 @@ for (j = 0; j < k-2; j++) { osmo_select_main(0); #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(0, PKT_TIME_USEC); + clock_override_add(0, PKT_TIME_USEC); #endif } @@ -260,7 +285,7 @@ #if !OSMUX_TEST_USE_TIMING /* This test uses fake time to speedup the run, unless we want to manually * test time specific stuff */ - osmo_gettimeofday_override = true; + clock_override_enable(true); #endif /* This test doesn't use it, but osmux requires it internally. */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I4e1a0eb4f8c4ea1bc0f963afa18b116d3af9978c Gerrit-Change-Number: 15669 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 Oct 4 10:47:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 10:47:01 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15670 Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... tests: osmux_test: Provide More accurate logging expectancies Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 --- M tests/osmux/osmux_test.c M tests/osmux/osmux_test.ok M tests/testsuite.at 3 files changed, 1,093 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/70/15670/1 diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 6825b56..6e86773 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -69,7 +69,7 @@ struct timeval tv; \ osmo_clock_gettime(CLOCK_MONOTONIC, &ts); \ osmo_gettimeofday(&tv, NULL); \ - printf("sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt, \ + fprintf(stderr, "sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt, \ tv.tv_sec, tv.tv_usec, ts.tv_sec, ts.tv_nsec/1000, ##args); \ } while(0) @@ -86,7 +86,7 @@ if (dbg) clock_debug("clock_override_add\n"); } -#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, false) +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, true) static void tx_cb(struct msgb *msg, void *data) { @@ -100,7 +100,7 @@ last = now; if (diff.tv_usec > 2*17000) { - fprintf(stdout, "delivery of reconstructed RTP lagged" + clock_debug("delivery of reconstructed RTP lagged" " (diff.tv_usec=%u > 2*17000)\n", (unsigned int)diff.tv_usec); exit(EXIT_FAILURE); @@ -108,12 +108,12 @@ #endif osmo_rtp_snprintf(buf, sizeof(buf), msg); - fprintf(stderr, "extracted packet: %s\n", buf); + clock_debug("extracted packet: %s\n", buf); if (memcmp(msg->data + sizeof(struct rtp_hdr), rtp_pkt + sizeof(struct rtp_hdr), sizeof(rtp_pkt) - sizeof(struct rtp_hdr)) != 0) { - fprintf(stdout, "payload mismatch!\n"); + clock_debug("payload mismatch!\n"); exit(EXIT_FAILURE); } @@ -131,7 +131,7 @@ char buf[2048]; osmux_snprintf(buf, sizeof(buf), batch_msg); - fprintf(stderr, "OSMUX message (len=%d) %s\n", batch_msg->len, buf); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); /* For each OSMUX message, extract the RTP messages and put them * in a list. Then, reconstruct transmission timing. @@ -149,7 +149,7 @@ static void sigalarm_handler(int foo) { - printf("FAIL: test did not run successfully\n"); + clock_debug("FAIL: test did not run successfully\n"); exit(EXIT_FAILURE); } @@ -198,7 +198,7 @@ } if (mark_pkts) { - fprintf(stdout, "osmux_test_marker: RTP M bit (marker) mismatch! %d\n", mark_pkts); + clock_debug("osmux_test_marker: RTP M bit (marker) mismatch! %d\n", mark_pkts); exit(EXIT_FAILURE); } } @@ -230,7 +230,7 @@ } osmo_rtp_snprintf(buf, sizeof(buf), msg); - fprintf(stderr, "adding to ccid=%u %s\n", (i % 2) + ccid, buf); + clock_debug("adding to ccid=%u %s\n", (i % 2) + ccid, buf); rtp_pkts++; k++; @@ -268,7 +268,7 @@ } if (mark_pkts) { - fprintf(stdout, "osmux_test_loop: RTP M bit (marker) mismatch! %d\n", mark_pkts); + clock_debug("osmux_test_loop: RTP M bit (marker) mismatch! %d\n", mark_pkts); exit(EXIT_FAILURE); } } @@ -343,6 +343,6 @@ osmux_xfrm_input_fini(&h_input); - fprintf(stdout, "OK: Test passed\n"); + clock_debug("OK: Test passed\n"); return EXIT_SUCCESS; } diff --git a/tests/osmux/osmux_test.ok b/tests/osmux/osmux_test.ok index 0f65527..cf78020 100644 --- a/tests/osmux/osmux_test.ok +++ b/tests/osmux/osmux_test.ok @@ -1 +1,1081 @@ -OK: Test passed +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:872 initialized osmux input converter +sys={23.444242}, mono={0.020000}: clock_override_add +sys={23.464242}, mono={0.040000}: clock_override_add +sys={23.484242}, mono={0.060000}: clock_override_add +sys={23.504242}, mono={0.080000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={23.504242}, mono={0.080000}: OSMUX message (len=256): OSMUX seq=000 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=001 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=002 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=003 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.504242}, mono={0.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9158 timestamp=1681692777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.524242}, mono={0.100000}: clock_override_add +sys={23.524242}, mono={0.100000}: OSMUX message (len=106): OSMUX seq=004 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=005 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=006 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=007 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.544242}, mono={0.120000}: clock_override_add +sys={23.564242}, mono={0.140000}: clock_override_add +sys={23.564242}, mono={0.140000}: OSMUX message (len=106): OSMUX seq=008 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=009 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=010 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=011 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.584242}, mono={0.160000}: clock_override_add +sys={23.604242}, mono={0.180000}: clock_override_add +sys={23.624242}, mono={0.200000}: clock_override_add +sys={23.644242}, mono={0.220000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={23.644242}, mono={0.220000}: OSMUX message (len=256): OSMUX seq=012 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=013 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=014 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=015 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.664242}, mono={0.240000}: clock_override_add +sys={23.664242}, mono={0.240000}: OSMUX message (len=106): OSMUX seq=016 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=017 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=018 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=019 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.684242}, mono={0.260000}: clock_override_add +sys={23.704242}, mono={0.280000}: clock_override_add +sys={23.704242}, mono={0.280000}: OSMUX message (len=106): OSMUX seq=020 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=021 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=022 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=023 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.724242}, mono={0.300000}: clock_override_add +sys={23.744242}, mono={0.320000}: clock_override_add +sys={23.764242}, mono={0.340000}: clock_override_add +sys={23.784242}, mono={0.360000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={23.784242}, mono={0.360000}: OSMUX message (len=256): OSMUX seq=024 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=025 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=026 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=027 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.804242}, mono={0.380000}: clock_override_add +sys={23.804242}, mono={0.380000}: OSMUX message (len=106): OSMUX seq=028 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=029 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=030 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=031 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.824242}, mono={0.400000}: clock_override_add +sys={23.844242}, mono={0.420000}: clock_override_add +sys={23.844242}, mono={0.420000}: OSMUX message (len=106): OSMUX seq=032 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=033 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=034 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=035 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.864242}, mono={0.440000}: clock_override_add +sys={23.884242}, mono={0.460000}: clock_override_add +sys={23.904242}, mono={0.480000}: clock_override_add +sys={23.924242}, mono={0.500000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={23.924242}, mono={0.500000}: OSMUX message (len=256): OSMUX seq=036 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=037 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=038 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=039 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.944242}, mono={0.520000}: clock_override_add +sys={23.944242}, mono={0.520000}: OSMUX message (len=106): OSMUX seq=040 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=041 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=042 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=043 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.964242}, mono={0.540000}: clock_override_add +sys={23.984242}, mono={0.560000}: clock_override_add +sys={23.984242}, mono={0.560000}: OSMUX message (len=106): OSMUX seq=044 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=045 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=046 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=047 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.004242}, mono={0.580000}: clock_override_add +sys={24.024242}, mono={0.600000}: clock_override_add +sys={24.044242}, mono={0.620000}: clock_override_add +sys={24.064242}, mono={0.640000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={24.064242}, mono={0.640000}: OSMUX message (len=256): OSMUX seq=048 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=049 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=050 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=051 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.084242}, mono={0.660000}: clock_override_add +sys={24.084242}, mono={0.660000}: OSMUX message (len=106): OSMUX seq=052 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=053 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=054 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=055 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.104242}, mono={0.680000}: clock_override_add +sys={24.124242}, mono={0.700000}: clock_override_add +sys={24.124242}, mono={0.700000}: OSMUX message (len=106): OSMUX seq=056 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=057 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=058 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=059 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.144242}, mono={0.720000}: clock_override_add +sys={24.164242}, mono={0.740000}: clock_override_add +sys={24.184242}, mono={0.760000}: clock_override_add +sys={24.204242}, mono={0.780000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={24.204242}, mono={0.780000}: OSMUX message (len=256): OSMUX seq=060 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=061 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=062 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=063 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.224242}, mono={0.800000}: clock_override_add +sys={24.224242}, mono={0.800000}: OSMUX message (len=106): OSMUX seq=064 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=065 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=066 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=067 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.244242}, mono={0.820000}: clock_override_add +sys={24.264242}, mono={0.840000}: clock_override_add +sys={24.264242}, mono={0.840000}: OSMUX message (len=106): OSMUX seq=068 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=069 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=070 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=071 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.284242}, mono={0.860000}: clock_override_add +sys={24.304242}, mono={0.880000}: clock_override_add +sys={24.324242}, mono={0.900000}: clock_override_add +sys={24.344242}, mono={0.920000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={24.344242}, mono={0.920000}: OSMUX message (len=256): OSMUX seq=072 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=073 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=074 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=075 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.364242}, mono={0.940000}: clock_override_add +sys={24.364242}, mono={0.940000}: OSMUX message (len=106): OSMUX seq=076 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=077 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=078 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=079 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.384242}, mono={0.960000}: clock_override_add +sys={24.404242}, mono={0.980000}: clock_override_add +sys={24.404242}, mono={0.980000}: OSMUX message (len=106): OSMUX seq=080 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=081 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=082 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=083 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.424242}, mono={1.000000}: clock_override_add +sys={24.444242}, mono={1.020000}: clock_override_add +sys={24.464242}, mono={1.040000}: clock_override_add +sys={24.484242}, mono={1.060000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={24.484242}, mono={1.060000}: OSMUX message (len=256): OSMUX seq=084 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=085 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=086 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=087 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.504242}, mono={1.080000}: clock_override_add +sys={24.504242}, mono={1.080000}: OSMUX message (len=106): OSMUX seq=088 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=089 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=090 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=091 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.524242}, mono={1.100000}: clock_override_add +sys={24.544242}, mono={1.120000}: clock_override_add +sys={24.544242}, mono={1.120000}: OSMUX message (len=106): OSMUX seq=092 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=093 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=094 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=095 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.564242}, mono={1.140000}: clock_override_add +sys={24.584242}, mono={1.160000}: clock_override_add +sys={24.604242}, mono={1.180000}: clock_override_add +sys={24.624242}, mono={1.200000}: clock_override_add +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:369 Batch is full for RTP ssrc=1644169479 +sys={24.624242}, mono={1.200000}: OSMUX message (len=256): OSMUX seq=096 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=097 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=098 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=099 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.644242}, mono={1.220000}: clock_override_add +sys={24.644242}, mono={1.220000}: OSMUX message (len=106): OSMUX seq=100 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=101 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=102 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=103 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.664242}, mono={1.240000}: clock_override_add +sys={24.684242}, mono={1.260000}: clock_override_add +sys={24.684242}, mono={1.260000}: OSMUX message (len=106): OSMUX seq=104 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=105 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=106 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=107 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.704242}, mono={1.280000}: clock_override_add +sys={25.704242}, mono={2.280000}: clock_override_add +sys={25.704242}, mono={2.280000}: OSMUX message (len=76): OSMUX seq=108 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=109 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=110 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=111 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: clock_override_add +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9159 timestamp=1681692937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9160 timestamp=1681693097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9161 timestamp=1681693257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9162 timestamp=1681693417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9163 timestamp=1681693577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9164 timestamp=1681693737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9165 timestamp=1681693897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9166 timestamp=1681694057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9167 timestamp=1681694217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9168 timestamp=1681694377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9169 timestamp=1681694537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9170 timestamp=1681694697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9171 timestamp=1681694857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9172 timestamp=1681695017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9173 timestamp=1681695177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9174 timestamp=1681695337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9175 timestamp=1681695497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9176 timestamp=1681695657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9177 timestamp=1681695817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9178 timestamp=1681695977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9179 timestamp=1681696137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9180 timestamp=1681696297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9181 timestamp=1681696457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9182 timestamp=1681696617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9183 timestamp=1681696777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9184 timestamp=1681696937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9185 timestamp=1681697097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9186 timestamp=1681697257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9187 timestamp=1681697417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9188 timestamp=1681697577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9189 timestamp=1681697737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9190 timestamp=1681697897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9191 timestamp=1681698057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9192 timestamp=1681698217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9193 timestamp=1681698377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9194 timestamp=1681698537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9195 timestamp=1681698697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9196 timestamp=1681698857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9197 timestamp=1681699017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9198 timestamp=1681699177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9199 timestamp=1681699337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9200 timestamp=1681699497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9201 timestamp=1681699657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9202 timestamp=1681699817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9203 timestamp=1681699977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9204 timestamp=1681700137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9205 timestamp=1681700297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9206 timestamp=1681700457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9207 timestamp=1681700617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9208 timestamp=1681700777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9209 timestamp=1681700937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9210 timestamp=1681701097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9211 timestamp=1681701257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9212 timestamp=1681701417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9213 timestamp=1681701577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9214 timestamp=1681701737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9215 timestamp=1681701897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9216 timestamp=1681702057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9217 timestamp=1681702217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9218 timestamp=1681702377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9219 timestamp=1681702537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9220 timestamp=1681702697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9221 timestamp=1681702857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9222 timestamp=1681703017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9223 timestamp=1681703177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9224 timestamp=1681703337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9225 timestamp=1681703497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9226 timestamp=1681703657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9227 timestamp=1681703817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9228 timestamp=1681703977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9229 timestamp=1681704137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9230 timestamp=1681704297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9231 timestamp=1681704457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9232 timestamp=1681704617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9233 timestamp=1681704777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9234 timestamp=1681704937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9235 timestamp=1681705097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9236 timestamp=1681705257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9237 timestamp=1681705417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9238 timestamp=1681705577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9239 timestamp=1681705737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9240 timestamp=1681705897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9241 timestamp=1681706057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9242 timestamp=1681706217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9243 timestamp=1681706377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9244 timestamp=1681706537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9245 timestamp=1681706697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9246 timestamp=1681706857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9247 timestamp=1681707017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9248 timestamp=1681707177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9249 timestamp=1681707337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9250 timestamp=1681707497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9251 timestamp=1681707657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9252 timestamp=1681707817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9253 timestamp=1681707977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9254 timestamp=1681708137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9255 timestamp=1681708297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9256 timestamp=1681708457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9257 timestamp=1681708617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9258 timestamp=1681708777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9259 timestamp=1681708937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9260 timestamp=1681709097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9261 timestamp=1681709257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9262 timestamp=1681709417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9263 timestamp=1681709577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9264 timestamp=1681709737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9265 timestamp=1681709897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9266 timestamp=1681710057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9267 timestamp=1681710217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9268 timestamp=1681710377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9269 timestamp=1681710537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9270 timestamp=1681710697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9271 timestamp=1681710857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9272 timestamp=1681711017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9273 timestamp=1681711177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9274 timestamp=1681711337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9275 timestamp=1681711497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9276 timestamp=1681711657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9277 timestamp=1681711817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9278 timestamp=1681711977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9279 timestamp=1681712137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9280 timestamp=1681712297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9281 timestamp=1681712457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9282 timestamp=1681712617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9283 timestamp=1681712777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9284 timestamp=1681712937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9285 timestamp=1681713097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9286 timestamp=1681713257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9287 timestamp=1681713417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9288 timestamp=1681713577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9289 timestamp=1681713737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9290 timestamp=1681713897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9291 timestamp=1681714057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9292 timestamp=1681714217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9293 timestamp=1681714377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9294 timestamp=1681714537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9295 timestamp=1681714697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9296 timestamp=1681714857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9297 timestamp=1681715017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9298 timestamp=1681715177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9299 timestamp=1681715337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9300 timestamp=1681715497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9301 timestamp=1681715657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9302 timestamp=1681715817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9303 timestamp=1681715977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9304 timestamp=1681716137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9305 timestamp=1681716297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9306 timestamp=1681716457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9307 timestamp=1681716617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9308 timestamp=1681716777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9309 timestamp=1681716937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9310 timestamp=1681717097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9311 timestamp=1681717257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9312 timestamp=1681717417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9313 timestamp=1681717577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9314 timestamp=1681717737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9315 timestamp=1681717897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9316 timestamp=1681718057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9317 timestamp=1681718217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9318 timestamp=1681718377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9319 timestamp=1681718537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9320 timestamp=1681718697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9321 timestamp=1681718857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9322 timestamp=1681719017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9323 timestamp=1681719177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9324 timestamp=1681719337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9325 timestamp=1681719497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9326 timestamp=1681719657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9327 timestamp=1681719817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9328 timestamp=1681719977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9329 timestamp=1681720137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9330 timestamp=1681720297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9331 timestamp=1681720457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9332 timestamp=1681720617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9333 timestamp=1681720777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9334 timestamp=1681720937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9335 timestamp=1681721097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9336 timestamp=1681721257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9337 timestamp=1681721417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9338 timestamp=1681721577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9339 timestamp=1681721737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9340 timestamp=1681721897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9341 timestamp=1681722057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9342 timestamp=1681722217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9343 timestamp=1681722377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9344 timestamp=1681722537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9345 timestamp=1681722697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9346 timestamp=1681722857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9347 timestamp=1681723017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9348 timestamp=1681723177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9349 timestamp=1681723337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9350 timestamp=1681723497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9351 timestamp=1681723657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9352 timestamp=1681723817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9353 timestamp=1681723977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9354 timestamp=1681724137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9355 timestamp=1681724297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9356 timestamp=1681724457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9357 timestamp=1681724617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9358 timestamp=1681724777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9359 timestamp=1681724937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9360 timestamp=1681725097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9361 timestamp=1681725257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9362 timestamp=1681725417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9363 timestamp=1681725577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9364 timestamp=1681725737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9365 timestamp=1681725897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9366 timestamp=1681726057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9367 timestamp=1681726217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9368 timestamp=1681726377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9369 timestamp=1681726537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9370 timestamp=1681726697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9371 timestamp=1681726857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9372 timestamp=1681727017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9373 timestamp=1681727177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9374 timestamp=1681727337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9375 timestamp=1681727497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9376 timestamp=1681727657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9377 timestamp=1681727817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9378 timestamp=1681727977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9379 timestamp=1681728137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9380 timestamp=1681728297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9381 timestamp=1681728457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9382 timestamp=1681728617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9383 timestamp=1681728777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9384 timestamp=1681728937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9385 timestamp=1681729097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9386 timestamp=1681729257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9387 timestamp=1681729417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9388 timestamp=1681729577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9389 timestamp=1681729737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9390 timestamp=1681729897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9391 timestamp=1681730057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9392 timestamp=1681730217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9393 timestamp=1681730377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9394 timestamp=1681730537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9395 timestamp=1681730697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9396 timestamp=1681730857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9397 timestamp=1681731017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9398 timestamp=1681731177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9399 timestamp=1681731337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9400 timestamp=1681731497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9401 timestamp=1681731657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9402 timestamp=1681731817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9403 timestamp=1681731977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9404 timestamp=1681732137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9405 timestamp=1681732297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9406 timestamp=1681732457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9407 timestamp=1681732617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9408 timestamp=1681732777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9409 timestamp=1681732937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9410 timestamp=1681733097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9411 timestamp=1681733257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9412 timestamp=1681733417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9413 timestamp=1681733577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:872 initialized osmux input converter +sys={26.704242}, mono={3.280000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16396 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16397 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16398 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.704242}, mono={3.280000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16399 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.704242}, mono={3.280000}: OSMUX message (len=242): OSMUX seq=000 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=001 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9414 timestamp=1681733737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9415 timestamp=1681733897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9416 timestamp=1681734057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9417 timestamp=1681734217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.724242}, mono={3.300000}: clock_override_add +sys={26.724242}, mono={3.300000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9418 timestamp=1681734377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: clock_override_add +sys={26.744242}, mono={3.320000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16400 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16401 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16402 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.744242}, mono={3.320000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16403 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.744242}, mono={3.320000}: OSMUX message (len=242): OSMUX seq=002 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=003 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9419 timestamp=1681734537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9420 timestamp=1681734697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9421 timestamp=1681734857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9422 timestamp=1681735017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9423 timestamp=1681735177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.764242}, mono={3.340000}: clock_override_add +sys={26.764242}, mono={3.340000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9424 timestamp=1681735337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: clock_override_add +sys={26.784242}, mono={3.360000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16404 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16405 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16406 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.784242}, mono={3.360000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16407 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.784242}, mono={3.360000}: OSMUX message (len=242): OSMUX seq=004 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=005 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9425 timestamp=1681735497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9426 timestamp=1681735657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9427 timestamp=1681735817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9428 timestamp=1681735977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9429 timestamp=1681736137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.804242}, mono={3.380000}: clock_override_add +sys={26.804242}, mono={3.380000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9430 timestamp=1681736297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: clock_override_add +sys={26.824242}, mono={3.400000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16408 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16409 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16410 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.824242}, mono={3.400000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16411 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.824242}, mono={3.400000}: OSMUX message (len=242): OSMUX seq=006 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=007 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9431 timestamp=1681736457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9432 timestamp=1681736617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9433 timestamp=1681736777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9434 timestamp=1681736937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9435 timestamp=1681737097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.844242}, mono={3.420000}: clock_override_add +sys={26.844242}, mono={3.420000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9436 timestamp=1681737257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: clock_override_add +sys={26.864242}, mono={3.440000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16412 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16413 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16414 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.864242}, mono={3.440000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16415 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.864242}, mono={3.440000}: OSMUX message (len=242): OSMUX seq=008 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=009 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9437 timestamp=1681737417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9438 timestamp=1681737577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9439 timestamp=1681737737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9440 timestamp=1681737897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9441 timestamp=1681738057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.884242}, mono={3.460000}: clock_override_add +sys={26.884242}, mono={3.460000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9442 timestamp=1681738217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: clock_override_add +sys={26.904242}, mono={3.480000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16416 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16417 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16418 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.904242}, mono={3.480000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16419 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.904242}, mono={3.480000}: OSMUX message (len=242): OSMUX seq=010 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=011 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9443 timestamp=1681738377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9444 timestamp=1681738537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9445 timestamp=1681738697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9446 timestamp=1681738857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9447 timestamp=1681739017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.924242}, mono={3.500000}: clock_override_add +sys={26.924242}, mono={3.500000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9448 timestamp=1681739177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: clock_override_add +sys={26.944242}, mono={3.520000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16420 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16421 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16422 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.944242}, mono={3.520000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16423 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.944242}, mono={3.520000}: OSMUX message (len=242): OSMUX seq=012 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=013 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9449 timestamp=1681739337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9450 timestamp=1681739497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9451 timestamp=1681739657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9452 timestamp=1681739817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9453 timestamp=1681739977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.964242}, mono={3.540000}: clock_override_add +sys={26.964242}, mono={3.540000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9454 timestamp=1681740137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: clock_override_add +sys={26.984242}, mono={3.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16424 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16425 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16426 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.984242}, mono={3.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16427 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={26.984242}, mono={3.560000}: OSMUX message (len=242): OSMUX seq=014 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=015 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9455 timestamp=1681740297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9456 timestamp=1681740457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9457 timestamp=1681740617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9458 timestamp=1681740777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9459 timestamp=1681740937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.004242}, mono={3.580000}: clock_override_add +sys={27.004242}, mono={3.580000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9460 timestamp=1681741097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: clock_override_add +sys={27.024242}, mono={3.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16428 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16429 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16430 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.024242}, mono={3.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16431 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.024242}, mono={3.600000}: OSMUX message (len=242): OSMUX seq=016 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=017 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9461 timestamp=1681741257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9462 timestamp=1681741417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9463 timestamp=1681741577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9464 timestamp=1681741737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9465 timestamp=1681741897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.044242}, mono={3.620000}: clock_override_add +sys={27.044242}, mono={3.620000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9466 timestamp=1681742057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: clock_override_add +sys={27.064242}, mono={3.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16432 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16433 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16434 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.064242}, mono={3.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16435 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.064242}, mono={3.640000}: OSMUX message (len=242): OSMUX seq=018 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=019 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9467 timestamp=1681742217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9468 timestamp=1681742377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9469 timestamp=1681742537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9470 timestamp=1681742697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9471 timestamp=1681742857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.084242}, mono={3.660000}: clock_override_add +sys={27.084242}, mono={3.660000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9472 timestamp=1681743017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: clock_override_add +sys={27.104242}, mono={3.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16436 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16437 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16438 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.104242}, mono={3.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16439 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.104242}, mono={3.680000}: OSMUX message (len=242): OSMUX seq=020 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=021 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9473 timestamp=1681743177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9474 timestamp=1681743337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9475 timestamp=1681743497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9476 timestamp=1681743657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9477 timestamp=1681743817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.124242}, mono={3.700000}: clock_override_add +sys={27.124242}, mono={3.700000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9478 timestamp=1681743977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: clock_override_add +sys={27.144242}, mono={3.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16440 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16441 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16442 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.144242}, mono={3.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16443 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.144242}, mono={3.720000}: OSMUX message (len=242): OSMUX seq=022 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=023 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9479 timestamp=1681744137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9480 timestamp=1681744297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9481 timestamp=1681744457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9482 timestamp=1681744617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9483 timestamp=1681744777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.164242}, mono={3.740000}: clock_override_add +sys={27.164242}, mono={3.740000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9484 timestamp=1681744937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: clock_override_add +sys={27.184242}, mono={3.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16444 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16445 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16446 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.184242}, mono={3.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16447 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.184242}, mono={3.760000}: OSMUX message (len=242): OSMUX seq=024 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=025 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9485 timestamp=1681745097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9486 timestamp=1681745257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9487 timestamp=1681745417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9488 timestamp=1681745577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9489 timestamp=1681745737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.204242}, mono={3.780000}: clock_override_add +sys={27.204242}, mono={3.780000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9490 timestamp=1681745897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: clock_override_add +sys={27.224242}, mono={3.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16448 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16449 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16450 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.224242}, mono={3.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16451 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.224242}, mono={3.800000}: OSMUX message (len=242): OSMUX seq=026 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=027 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9491 timestamp=1681746057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9492 timestamp=1681746217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9493 timestamp=1681746377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9494 timestamp=1681746537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9495 timestamp=1681746697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.244242}, mono={3.820000}: clock_override_add +sys={27.244242}, mono={3.820000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9496 timestamp=1681746857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: clock_override_add +sys={27.264242}, mono={3.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16452 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16453 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16454 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.264242}, mono={3.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16455 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.264242}, mono={3.840000}: OSMUX message (len=242): OSMUX seq=028 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=029 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9497 timestamp=1681747017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9498 timestamp=1681747177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9499 timestamp=1681747337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9500 timestamp=1681747497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9501 timestamp=1681747657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.284242}, mono={3.860000}: clock_override_add +sys={27.284242}, mono={3.860000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9502 timestamp=1681747817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: clock_override_add +sys={27.304242}, mono={3.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16456 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16457 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16458 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.304242}, mono={3.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16459 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.304242}, mono={3.880000}: OSMUX message (len=242): OSMUX seq=030 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=031 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9503 timestamp=1681747977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9504 timestamp=1681748137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9505 timestamp=1681748297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9506 timestamp=1681748457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9507 timestamp=1681748617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.324242}, mono={3.900000}: clock_override_add +sys={27.324242}, mono={3.900000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9508 timestamp=1681748777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: clock_override_add +sys={27.344242}, mono={3.920000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16460 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16461 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16462 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.344242}, mono={3.920000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16463 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.344242}, mono={3.920000}: OSMUX message (len=98): OSMUX seq=032 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=033 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9509 timestamp=1681748937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9510 timestamp=1681749097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9511 timestamp=1681749257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9512 timestamp=1681749417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9513 timestamp=1681749577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.364242}, mono={3.940000}: clock_override_add +sys={27.364242}, mono={3.940000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9514 timestamp=1681749737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: clock_override_add +sys={27.384242}, mono={3.960000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16464 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16465 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16466 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.384242}, mono={3.960000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16467 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.384242}, mono={3.960000}: OSMUX message (len=98): OSMUX seq=034 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=035 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9515 timestamp=1681749897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9516 timestamp=1681750057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9517 timestamp=1681750217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9518 timestamp=1681750377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9519 timestamp=1681750537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.404242}, mono={3.980000}: clock_override_add +sys={27.404242}, mono={3.980000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9520 timestamp=1681750697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: clock_override_add +sys={27.424242}, mono={4.000000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16468 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16469 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16470 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.424242}, mono={4.000000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16471 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.424242}, mono={4.000000}: OSMUX message (len=98): OSMUX seq=036 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=037 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9521 timestamp=1681750857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9522 timestamp=1681751017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9523 timestamp=1681751177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9524 timestamp=1681751337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9525 timestamp=1681751497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.444242}, mono={4.020000}: clock_override_add +sys={27.444242}, mono={4.020000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9526 timestamp=1681751657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: clock_override_add +sys={27.464242}, mono={4.040000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16472 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16473 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16474 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.464242}, mono={4.040000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16475 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.464242}, mono={4.040000}: OSMUX message (len=98): OSMUX seq=038 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=039 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9527 timestamp=1681751817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9528 timestamp=1681751977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9529 timestamp=1681752137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9530 timestamp=1681752297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9531 timestamp=1681752457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.484242}, mono={4.060000}: clock_override_add +sys={27.484242}, mono={4.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9532 timestamp=1681752617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: clock_override_add +sys={27.504242}, mono={4.080000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16476 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16477 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16478 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.504242}, mono={4.080000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16479 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.504242}, mono={4.080000}: OSMUX message (len=98): OSMUX seq=040 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=041 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9533 timestamp=1681752777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9534 timestamp=1681752937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9535 timestamp=1681753097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9536 timestamp=1681753257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9537 timestamp=1681753417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.524242}, mono={4.100000}: clock_override_add +sys={27.524242}, mono={4.100000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9538 timestamp=1681753577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: clock_override_add +sys={27.544242}, mono={4.120000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16480 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16481 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16482 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.544242}, mono={4.120000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16483 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.544242}, mono={4.120000}: OSMUX message (len=98): OSMUX seq=042 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=043 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9539 timestamp=1681753737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9540 timestamp=1681753897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9541 timestamp=1681754057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9542 timestamp=1681754217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9543 timestamp=1681754377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.564242}, mono={4.140000}: clock_override_add +sys={27.564242}, mono={4.140000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9544 timestamp=1681754537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: clock_override_add +sys={27.584242}, mono={4.160000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16484 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16485 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16486 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.584242}, mono={4.160000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16487 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.584242}, mono={4.160000}: OSMUX message (len=98): OSMUX seq=044 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=045 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9545 timestamp=1681754697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9546 timestamp=1681754857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9547 timestamp=1681755017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9548 timestamp=1681755177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9549 timestamp=1681755337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.604242}, mono={4.180000}: clock_override_add +sys={27.604242}, mono={4.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9550 timestamp=1681755497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: clock_override_add +sys={27.624242}, mono={4.200000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16488 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16489 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16490 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.624242}, mono={4.200000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16491 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.624242}, mono={4.200000}: OSMUX message (len=98): OSMUX seq=046 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=047 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9551 timestamp=1681755657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9552 timestamp=1681755817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9553 timestamp=1681755977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9554 timestamp=1681756137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9555 timestamp=1681756297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.644242}, mono={4.220000}: clock_override_add +sys={27.644242}, mono={4.220000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9556 timestamp=1681756457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: clock_override_add +sys={27.664242}, mono={4.240000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16492 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16493 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16494 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.664242}, mono={4.240000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16495 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.664242}, mono={4.240000}: OSMUX message (len=98): OSMUX seq=048 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=049 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9557 timestamp=1681756617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9558 timestamp=1681756777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9559 timestamp=1681756937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9560 timestamp=1681757097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9561 timestamp=1681757257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.684242}, mono={4.260000}: clock_override_add +sys={27.684242}, mono={4.260000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9562 timestamp=1681757417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: clock_override_add +sys={27.704242}, mono={4.280000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16496 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16497 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16498 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.704242}, mono={4.280000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16499 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.704242}, mono={4.280000}: OSMUX message (len=98): OSMUX seq=050 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=051 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9563 timestamp=1681757577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9564 timestamp=1681757737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9565 timestamp=1681757897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9566 timestamp=1681758057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9567 timestamp=1681758217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.724242}, mono={4.300000}: clock_override_add +sys={27.724242}, mono={4.300000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9568 timestamp=1681758377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: clock_override_add +sys={27.744242}, mono={4.320000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16500 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16501 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16502 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.744242}, mono={4.320000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16503 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.744242}, mono={4.320000}: OSMUX message (len=98): OSMUX seq=052 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=053 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9569 timestamp=1681758537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9570 timestamp=1681758697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9571 timestamp=1681758857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9572 timestamp=1681759017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9573 timestamp=1681759177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.764242}, mono={4.340000}: clock_override_add +sys={27.764242}, mono={4.340000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9574 timestamp=1681759337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: clock_override_add +sys={27.784242}, mono={4.360000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16504 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16505 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16506 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.784242}, mono={4.360000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16507 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.784242}, mono={4.360000}: OSMUX message (len=98): OSMUX seq=054 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=055 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9575 timestamp=1681759497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9576 timestamp=1681759657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9577 timestamp=1681759817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9578 timestamp=1681759977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9579 timestamp=1681760137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.804242}, mono={4.380000}: clock_override_add +sys={27.804242}, mono={4.380000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9580 timestamp=1681760297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: clock_override_add +sys={27.824242}, mono={4.400000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16508 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16509 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16510 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.824242}, mono={4.400000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16511 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.824242}, mono={4.400000}: OSMUX message (len=98): OSMUX seq=056 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=057 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9581 timestamp=1681760457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9582 timestamp=1681760617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9583 timestamp=1681760777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9584 timestamp=1681760937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9585 timestamp=1681761097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.844242}, mono={4.420000}: clock_override_add +sys={27.844242}, mono={4.420000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9586 timestamp=1681761257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: clock_override_add +sys={27.864242}, mono={4.440000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16512 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16513 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16514 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.864242}, mono={4.440000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16515 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.864242}, mono={4.440000}: OSMUX message (len=98): OSMUX seq=058 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=059 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9587 timestamp=1681761417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9588 timestamp=1681761577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9589 timestamp=1681761737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9590 timestamp=1681761897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9591 timestamp=1681762057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.884242}, mono={4.460000}: clock_override_add +sys={27.884242}, mono={4.460000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9592 timestamp=1681762217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: clock_override_add +sys={27.904242}, mono={4.480000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16516 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16517 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16518 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.904242}, mono={4.480000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16519 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.904242}, mono={4.480000}: OSMUX message (len=98): OSMUX seq=060 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=061 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9593 timestamp=1681762377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9594 timestamp=1681762537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9595 timestamp=1681762697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9596 timestamp=1681762857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9597 timestamp=1681763017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.924242}, mono={4.500000}: clock_override_add +sys={27.924242}, mono={4.500000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9598 timestamp=1681763177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: clock_override_add +sys={27.944242}, mono={4.520000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16520 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16521 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16522 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.944242}, mono={4.520000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16523 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.944242}, mono={4.520000}: OSMUX message (len=98): OSMUX seq=062 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=063 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9599 timestamp=1681763337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9600 timestamp=1681763497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9601 timestamp=1681763657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9602 timestamp=1681763817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9603 timestamp=1681763977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.964242}, mono={4.540000}: clock_override_add +sys={27.964242}, mono={4.540000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9604 timestamp=1681764137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: clock_override_add +sys={27.984242}, mono={4.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16524 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16525 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16526 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.984242}, mono={4.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16527 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={27.984242}, mono={4.560000}: OSMUX message (len=98): OSMUX seq=064 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=065 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9605 timestamp=1681764297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9606 timestamp=1681764457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9607 timestamp=1681764617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9608 timestamp=1681764777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9609 timestamp=1681764937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.004242}, mono={4.580000}: clock_override_add +sys={28.004242}, mono={4.580000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9610 timestamp=1681765097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: clock_override_add +sys={28.024242}, mono={4.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16528 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16529 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16530 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.024242}, mono={4.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16531 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.024242}, mono={4.600000}: OSMUX message (len=98): OSMUX seq=066 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=067 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9611 timestamp=1681765257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9612 timestamp=1681765417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9613 timestamp=1681765577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9614 timestamp=1681765737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9615 timestamp=1681765897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.044242}, mono={4.620000}: clock_override_add +sys={28.044242}, mono={4.620000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9616 timestamp=1681766057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: clock_override_add +sys={28.064242}, mono={4.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16532 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16533 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16534 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.064242}, mono={4.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16535 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.064242}, mono={4.640000}: OSMUX message (len=98): OSMUX seq=068 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=069 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9617 timestamp=1681766217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9618 timestamp=1681766377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9619 timestamp=1681766537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9620 timestamp=1681766697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9621 timestamp=1681766857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.084242}, mono={4.660000}: clock_override_add +sys={28.084242}, mono={4.660000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9622 timestamp=1681767017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: clock_override_add +sys={28.104242}, mono={4.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16536 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16537 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16538 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.104242}, mono={4.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16539 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.104242}, mono={4.680000}: OSMUX message (len=98): OSMUX seq=070 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=071 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9623 timestamp=1681767177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9624 timestamp=1681767337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9625 timestamp=1681767497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9626 timestamp=1681767657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9627 timestamp=1681767817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.124242}, mono={4.700000}: clock_override_add +sys={28.124242}, mono={4.700000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9628 timestamp=1681767977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: clock_override_add +sys={28.144242}, mono={4.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16540 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16541 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16542 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.144242}, mono={4.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16543 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.144242}, mono={4.720000}: OSMUX message (len=98): OSMUX seq=072 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=073 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9629 timestamp=1681768137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9630 timestamp=1681768297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9631 timestamp=1681768457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9632 timestamp=1681768617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9633 timestamp=1681768777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.164242}, mono={4.740000}: clock_override_add +sys={28.164242}, mono={4.740000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9634 timestamp=1681768937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: clock_override_add +sys={28.184242}, mono={4.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16544 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16545 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16546 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.184242}, mono={4.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16547 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.184242}, mono={4.760000}: OSMUX message (len=98): OSMUX seq=074 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=075 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9635 timestamp=1681769097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9636 timestamp=1681769257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9637 timestamp=1681769417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9638 timestamp=1681769577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9639 timestamp=1681769737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.204242}, mono={4.780000}: clock_override_add +sys={28.204242}, mono={4.780000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9640 timestamp=1681769897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: clock_override_add +sys={28.224242}, mono={4.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16548 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16549 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16550 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.224242}, mono={4.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16551 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.224242}, mono={4.800000}: OSMUX message (len=98): OSMUX seq=076 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=077 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9641 timestamp=1681770057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9642 timestamp=1681770217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9643 timestamp=1681770377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9644 timestamp=1681770537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9645 timestamp=1681770697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.244242}, mono={4.820000}: clock_override_add +sys={28.244242}, mono={4.820000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9646 timestamp=1681770857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: clock_override_add +sys={28.264242}, mono={4.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16552 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16553 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16554 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.264242}, mono={4.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16555 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.264242}, mono={4.840000}: OSMUX message (len=98): OSMUX seq=078 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=079 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9647 timestamp=1681771017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9648 timestamp=1681771177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9649 timestamp=1681771337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9650 timestamp=1681771497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9651 timestamp=1681771657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.284242}, mono={4.860000}: clock_override_add +sys={28.284242}, mono={4.860000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9652 timestamp=1681771817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: clock_override_add +sys={28.304242}, mono={4.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16556 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16557 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16558 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.304242}, mono={4.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16559 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.304242}, mono={4.880000}: OSMUX message (len=98): OSMUX seq=080 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=081 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9653 timestamp=1681771977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9654 timestamp=1681772137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9655 timestamp=1681772297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9656 timestamp=1681772457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9657 timestamp=1681772617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.324242}, mono={4.900000}: clock_override_add +sys={28.324242}, mono={4.900000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9658 timestamp=1681772777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: clock_override_add +sys={28.344242}, mono={4.920000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16560 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16561 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16562 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.344242}, mono={4.920000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16563 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.344242}, mono={4.920000}: OSMUX message (len=98): OSMUX seq=082 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=083 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9659 timestamp=1681772937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9660 timestamp=1681773097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9661 timestamp=1681773257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9662 timestamp=1681773417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9663 timestamp=1681773577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.364242}, mono={4.940000}: clock_override_add +sys={28.364242}, mono={4.940000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9664 timestamp=1681773737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: clock_override_add +sys={28.384242}, mono={4.960000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16564 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16565 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16566 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.384242}, mono={4.960000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16567 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.384242}, mono={4.960000}: OSMUX message (len=98): OSMUX seq=084 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=085 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9665 timestamp=1681773897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9666 timestamp=1681774057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9667 timestamp=1681774217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9668 timestamp=1681774377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9669 timestamp=1681774537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.404242}, mono={4.980000}: clock_override_add +sys={28.404242}, mono={4.980000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9670 timestamp=1681774697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: clock_override_add +sys={28.424242}, mono={5.000000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16568 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16569 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16570 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.424242}, mono={5.000000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16571 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.424242}, mono={5.000000}: OSMUX message (len=98): OSMUX seq=086 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=087 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9671 timestamp=1681774857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9672 timestamp=1681775017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9673 timestamp=1681775177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9674 timestamp=1681775337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9675 timestamp=1681775497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.444242}, mono={5.020000}: clock_override_add +sys={28.444242}, mono={5.020000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9676 timestamp=1681775657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: clock_override_add +sys={28.464242}, mono={5.040000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16572 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16573 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16574 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.464242}, mono={5.040000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16575 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.464242}, mono={5.040000}: OSMUX message (len=98): OSMUX seq=088 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=089 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9677 timestamp=1681775817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9678 timestamp=1681775977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9679 timestamp=1681776137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9680 timestamp=1681776297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9681 timestamp=1681776457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.484242}, mono={5.060000}: clock_override_add +sys={28.484242}, mono={5.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9682 timestamp=1681776617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: clock_override_add +sys={28.504242}, mono={5.080000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16576 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16577 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16578 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16579 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.504242}, mono={5.080000}: OSMUX message (len=98): OSMUX seq=090 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=091 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9683 timestamp=1681776777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9684 timestamp=1681776937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9685 timestamp=1681777097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9686 timestamp=1681777257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9687 timestamp=1681777417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.524242}, mono={5.100000}: clock_override_add +sys={28.524242}, mono={5.100000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9688 timestamp=1681777577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: clock_override_add +sys={28.544242}, mono={5.120000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16580 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16581 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16582 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.544242}, mono={5.120000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16583 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.544242}, mono={5.120000}: OSMUX message (len=98): OSMUX seq=092 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=093 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9689 timestamp=1681777737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9690 timestamp=1681777897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9691 timestamp=1681778057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9692 timestamp=1681778217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9693 timestamp=1681778377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.564242}, mono={5.140000}: clock_override_add +sys={28.564242}, mono={5.140000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9694 timestamp=1681778537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: clock_override_add +sys={28.584242}, mono={5.160000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16584 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16585 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16586 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.584242}, mono={5.160000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16587 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +<0004> /home/pespin/dev/sysmocom/git/libosmo-netif/src/osmux.c:657 adding cloned RTP +sys={28.584242}, mono={5.160000}: OSMUX message (len=98): OSMUX seq=094 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=095 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9695 timestamp=1681778697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9696 timestamp=1681778857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9697 timestamp=1681779017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.604242}, mono={5.180000}: clock_override_add +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.624242}, mono={5.200000}: clock_override_add +sys={28.624242}, mono={5.200000}: OK: Test passed diff --git a/tests/testsuite.at b/tests/testsuite.at index fa4d63d..0cf108f 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -11,7 +11,7 @@ AT_SETUP([osmux_test]) AT_KEYWORDS([osmux_test]) cat $abs_srcdir/osmux/osmux_test.ok > expout -AT_CHECK([$abs_top_builddir/tests/osmux/osmux_test], [0], [expout], [ignore]) +AT_CHECK([$abs_top_builddir/tests/osmux/osmux_test 2>&1], [0], [expout], [ignore]) AT_CLEANUP AT_SETUP([osmux_test2]) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From pespin at sysmocom.de Fri Oct 4 10:48:05 2019 From: pespin at sysmocom.de (Pau Espin Pedrol) Date: Fri, 4 Oct 2019 12:48:05 +0200 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Raspbian_10/armv7l In-Reply-To: <5d96a878dd5cf_6872ac66c3d65f0650816@build.opensuse.org> References: <5d96a878dd5cf_6872ac66c3d65f0650816@build.opensuse.org> Message-ID: I submitted some patches to make the test more reproducible and make it easier to spot errors: remote: https://gerrit.osmocom.org/c/libosmo-netif/+/15667 osmux: osmux_snprintf(): Append comma between osmux frames in msg remote: https://gerrit.osmocom.org/c/libosmo-netif/+/15668 osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames remote: https://gerrit.osmocom.org/c/libosmo-netif/+/15669 tests: osmux_test: Use fake time also for monotonic clock remote: https://gerrit.osmocom.org/c/libosmo-netif/+/15670 tests: osmux_test: Provide More accurate logging expectancies On 10/4/19 4:03 AM, OBS Notification wrote: > 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: > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9640 timestamp=1681769897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9641 timestamp=1681770057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9642 timestamp=1681770217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9643 timestamp=1681770377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9644 timestamp=1681770537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9645 timestamp=1681770697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9646 timestamp=1681770857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9647 timestamp=1681771017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] > [ 413s] --- expout 2019-10-04 02:02:29.680000000 +0000 > [ 413s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/2/stdout 2019-10-04 02:02:39.820000000 +0000 > [ 413s] @@ -1 +1 @@ > [ 413s] -OK: Test passed > [ 413s] +FAIL: test did not run successfully > [ 413s] ./testsuite.at:14: exit code was 1, expected 0 > [ 413s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) > [ 413s] make[1]: *** [debian/rules:27: override_dh_auto_test] Error 1 > [ 413s] make[1]: Leaving directory '/usr/src/packages/BUILD' > [ 413s] make: *** [debian/rules:13: build] Error 2 > [ 413s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 > [ 413s] > [ 413s] obs-arm-6 failed "build libosmo-netif_0.6.0.4.8c7d.dsc" at Fri Oct 4 02:02:50 UTC 2019. > [ 413s] > [ 413s] ### VM INTERACTION START ### > [ 416s] [ 387.232503] sysrq: SysRq : Power Off > [ 416s] [ 387.290389] reboot: Power down > [ 417s] ### VM INTERACTION END ### > [ 417s] > [ 417s] obs-arm-6 failed "build libosmo-netif_0.6.0.4.8c7d.dsc" at Fri Oct 4 02:02:54 UTC 2019. > [ 417s] > -- - Pau Espin Pedrol http://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Alt-Moabit 93 * 10559 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Director: Harald Welte From gerrit-no-reply at lists.osmocom.org Fri Oct 4 10:58:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 10:58:51 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies 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/+/15670 to look at the new patch set (#2). Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... tests: osmux_test: Provide More accurate logging expectancies Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 --- M tests/osmux/osmux_test.c M tests/osmux/osmux_test.ok M tests/testsuite.at 3 files changed, 1,096 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/70/15670/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 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 Fri Oct 4 11:50:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:50:34 +0000 Subject: Change in ...libosmo-netif[master]: osmux: osmux_snprintf(): Append comma between osmux frames in msg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15667 ) Change subject: osmux: osmux_snprintf(): Append comma between osmux frames in msg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7acaba9429466db6cb5700b206d6b42da5e4627a Gerrit-Change-Number: 15667 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 11:50: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 Fri Oct 4 11:50:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:50:43 +0000 Subject: Change in ...libosmo-netif[master]: osmux: osmux_snprintf(): Remove dangling whitespace at the end of dum... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15668 ) Change subject: osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I1ef73807c3300cbcc332f32e6bb905d9b30557be Gerrit-Change-Number: 15668 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 11:50: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 Oct 4 11:51:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:51:04 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Use fake time also for monotonic clock In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15669 ) Change subject: tests: osmux_test: Use fake time also for monotonic clock ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I4e1a0eb4f8c4ea1bc0f963afa18b116d3af9978c Gerrit-Change-Number: 15669 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 11:51: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 Oct 4 11:51:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:51:09 +0000 Subject: Change in ...libosmo-netif[master]: osmux: osmux_snprintf(): Append comma between osmux frames in msg In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15667 ) Change subject: osmux: osmux_snprintf(): Append comma between osmux frames in msg ...................................................................... osmux: osmux_snprintf(): Append comma between osmux frames in msg Change-Id: I7acaba9429466db6cb5700b206d6b42da5e4627a --- M src/osmux.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmux.c b/src/osmux.c index 8b6a115..43b294c 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -1093,7 +1093,10 @@ return -1; } osmuxh = (struct osmux_hdr *)((uint8_t *)msg->data + msg_off); - + if (msg_off) { + ret = snprintf(buf + offset, remain, ", "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); + } ret = osmux_snprintf_header(buf + offset, remain, osmuxh); SNPRINTF_BUFFER_SIZE(ret, remain, offset); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7acaba9429466db6cb5700b206d6b42da5e4627a Gerrit-Change-Number: 15667 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 Oct 4 11:51:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:51:09 +0000 Subject: Change in ...libosmo-netif[master]: osmux: osmux_snprintf(): Remove dangling whitespace at the end of dum... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15668 ) Change subject: osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames ...................................................................... osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames Change-Id: I1ef73807c3300cbcc332f32e6bb905d9b30557be --- M src/osmux.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmux.c b/src/osmux.c index 43b294c..9d058b0 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -1032,7 +1032,7 @@ ret = snprintf(buf, remain, "OSMUX seq=%03u ccid=%03u " "ft=%01u ctr=%01u " "amr_f=%01u amr_q=%01u " - "amr_ft=%02u amr_cmr=%02u ", + "amr_ft=%02u amr_cmr=%02u", osmuxh->seq, osmuxh->circuit_id, osmuxh->ft, osmuxh->ctr, osmuxh->amr_f, osmuxh->amr_q, @@ -1126,6 +1126,8 @@ } if (osmuxh->ft == OSMUX_FT_VOICE_AMR) { + ret = snprintf(buf + offset, remain, " "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); ret = osmux_snprintf_payload(buf + offset, remain, osmux_get_payload(osmuxh), payload_len); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I1ef73807c3300cbcc332f32e6bb905d9b30557be Gerrit-Change-Number: 15668 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 Oct 4 11:51:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:51:09 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Use fake time also for monotonic clock In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15669 ) Change subject: tests: osmux_test: Use fake time also for monotonic clock ...................................................................... tests: osmux_test: Use fake time also for monotonic clock Currently osmux related code uses both gettimeofday on some parts and clock_gettime(CLOCK_MONOTONIC) on others (for different purposes). Let's fake both clocks and not only the one used by gettimeofday API. Change-Id: I4e1a0eb4f8c4ea1bc0f963afa18b116d3af9978c --- M tests/osmux/osmux_test.c 1 file changed, 29 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index e2eb777..6825b56 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -63,6 +63,31 @@ static struct timeval last; #endif +#define clock_debug(fmt, args...) \ + do { \ + struct timespec ts; \ + struct timeval tv; \ + osmo_clock_gettime(CLOCK_MONOTONIC, &ts); \ + osmo_gettimeofday(&tv, NULL); \ + printf("sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt, \ + tv.tv_sec, tv.tv_usec, ts.tv_sec, ts.tv_nsec/1000, ##args); \ + } while(0) + +static void clock_override_enable(bool enable) +{ + osmo_gettimeofday_override = enable; + osmo_clock_override_enable(CLOCK_MONOTONIC, enable); +} + +static void clock_override_add_debug(long sec, long usec, bool dbg) +{ + osmo_gettimeofday_override_add(sec, usec); + osmo_clock_override_add(CLOCK_MONOTONIC, sec, usec*1000); + if (dbg) + clock_debug("clock_override_add\n"); +} +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, false) + static void tx_cb(struct msgb *msg, void *data) { struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; @@ -161,13 +186,13 @@ } } #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(0, PKT_TIME_USEC); + clock_override_add(0, PKT_TIME_USEC); #endif } while (rtp_pkts) { #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(1, 0); + clock_override_add(1, 0); #endif osmo_select_main(0); } @@ -234,7 +259,7 @@ for (j = 0; j < k-2; j++) { osmo_select_main(0); #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(0, PKT_TIME_USEC); + clock_override_add(0, PKT_TIME_USEC); #endif } @@ -260,7 +285,7 @@ #if !OSMUX_TEST_USE_TIMING /* This test uses fake time to speedup the run, unless we want to manually * test time specific stuff */ - osmo_gettimeofday_override = true; + clock_override_enable(true); #endif /* This test doesn't use it, but osmux requires it internally. */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I4e1a0eb4f8c4ea1bc0f963afa18b116d3af9978c Gerrit-Change-Number: 15669 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 Oct 4 11:53:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:53:15 +0000 Subject: Change in ...docker-playground[master]: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-h... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15652 ) Change subject: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks ...................................................................... Patch Set 1: Code-Review+1 would be interesting to state which part of the testsuite uses netcat. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 Gerrit-Change-Number: 15652 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 11:53: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 Fri Oct 4 11:53:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:53:37 +0000 Subject: Change in ...docker-playground[master]: ttcn-*: Fix gsmtap log not enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15662 ) Change subject: ttcn-*: Fix gsmtap log not enabled ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 Gerrit-Change-Number: 15662 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 11:53: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 Oct 4 11:53:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:53:42 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable GSMTAP In-Reply-To: References: Message-ID: laforge 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+2 -- 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-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 11:53: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 Oct 4 11:53:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:53:44 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable GSMTAP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Verified 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-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 Oct 4 11:54:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:54:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15636 ) Change subject: library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing Advance ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 11:54: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 Oct 4 11:54:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:54:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_Types.ttcn: implement PTCCH/D message coding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15637 ) Change subject: library/RLCMAC_Types.ttcn: implement PTCCH/D message coding ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 11:54: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 Oct 4 11:54:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:54:33 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved 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-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 Oct 4 11:54:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:54:33 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_Types.ttcn: implement PTCCH/D message coding In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved 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-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 Oct 4 11:54:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:54:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638 ) Change subject: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding ...................................................................... Patch Set 1: Code-Review+1 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 11:54: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 Oct 4 11:55:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:55: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: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/12452 ) Change subject: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE ...................................................................... gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE OSMO_GSUP_SUPPORTED_RAT_TYPES_IE corresponds to the Supported RAT Types Indicator from 3GPP TS 29.002. See 8.1.2 MAP_UPDATE_LOCATION service, which indicates the capabilities of the MSC/VLR to the HLR. So far, have room for eight RAT types in the gsup_msg. That is an arbitrary random choice without any rationale. OSMO_GSUP_CURRENT_RAT_TYPE_IE is useful to communicate the currently used RAN / RAT type of the current subscriber during Location Updating Request. Change-Id: I93850710ab55a605bf61b95063a69682a2899bb1 --- M include/osmocom/gsm/gsup.h M src/gsm/gsup.c M tests/gsup/gsup_test.err 3 files changed, 49 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h index be85662..49ddb74 100644 --- a/include/osmocom/gsm/gsup.h +++ b/include/osmocom/gsm/gsup.h @@ -45,6 +45,7 @@ #include #include #include +#include #include #define OSMO_GSUP_PORT 4222 @@ -86,6 +87,8 @@ OSMO_GSUP_AUTS_IE = 0x26, OSMO_GSUP_RES_IE = 0x27, OSMO_GSUP_CN_DOMAIN_IE = 0x28, + OSMO_GSUP_SUPPORTED_RAT_TYPES_IE = 0x29, /* supported RAT types */ + OSMO_GSUP_CURRENT_RAT_TYPE_IE = 0x2a, /* currently used RAT type */ OSMO_GSUP_SESSION_ID_IE = 0x30, OSMO_GSUP_SESSION_STATE_IE = 0x31, @@ -373,6 +376,10 @@ /*! Session Management cause as of 3GPP TS 24.008 10.5.6.6 / Table 10.5.157. */ enum gsm48_gsm_cause cause_sm; + + enum osmo_rat_type current_rat_type; + enum osmo_rat_type supported_rat_types[8]; /*!< arbitrary choice */ + size_t supported_rat_types_len; }; int osmo_gsup_decode(const uint8_t *data, size_t data_len, diff --git a/src/gsm/gsup.c b/src/gsm/gsup.c index 2e6690e..2f9d85d 100644 --- a/src/gsm/gsup.c +++ b/src/gsm/gsup.c @@ -297,6 +297,7 @@ struct osmo_gsup_message *gsup_msg) { int rc; + int i; uint8_t tag; /* the shift/match functions expect non-const pointers, but we'll * either copy the data or cast pointers back to const before returning @@ -459,6 +460,21 @@ gsup_msg->cn_domain = *value; break; + case OSMO_GSUP_SUPPORTED_RAT_TYPES_IE: + if (value_len > ARRAY_SIZE(gsup_msg->supported_rat_types)) { + LOGP(DLGSUP, LOGL_ERROR, "nr of supported RAT types %zu > %zu\n", + value_len, ARRAY_SIZE(gsup_msg->supported_rat_types)); + return -GMM_CAUSE_COND_IE_ERR; + } + for (i = 0; i < value_len; i++) + gsup_msg->supported_rat_types[i] = value[i]; + gsup_msg->supported_rat_types_len = value_len; + break; + + case OSMO_GSUP_CURRENT_RAT_TYPE_IE: + gsup_msg->current_rat_type = *value; + break; + case OSMO_GSUP_CHARG_CHAR_IE: gsup_msg->pdp_charg_enc = value; gsup_msg->pdp_charg_enc_len = value_len; @@ -856,6 +872,25 @@ if ((u8 = gsup_msg->cause_sm)) msgb_tlv_put(msg, OSMO_GSUP_CAUSE_SM_IE, sizeof(u8), &u8); + if (gsup_msg->supported_rat_types_len) { + int i; + uint8_t *len = msgb_tl_put(msg, OSMO_GSUP_SUPPORTED_RAT_TYPES_IE); + *len = gsup_msg->supported_rat_types_len; + for (i = 0; i < gsup_msg->supported_rat_types_len; i++) { + if (!gsup_msg->supported_rat_types[i] || + gsup_msg->supported_rat_types[i] >= OSMO_RAT_COUNT) { + LOGP(DLGSUP, LOGL_ERROR, "Failed to encode RAT type %s (nr %d)\n", + osmo_rat_type_name(gsup_msg->supported_rat_types[i]), i); + return -EINVAL; + } + msgb_v_put(msg, gsup_msg->supported_rat_types[i]); + } + } + if (gsup_msg->current_rat_type != OSMO_RAT_UNKNOWN) { + u8 = gsup_msg->current_rat_type; + msgb_tlv_put(msg, OSMO_GSUP_CURRENT_RAT_TYPE_IE, sizeof(u8), &u8); + } + return 0; } diff --git a/tests/gsup/gsup_test.err b/tests/gsup/gsup_test.err index e5fe6ee..1da3964 100644 --- a/tests/gsup/gsup_test.err +++ b/tests/gsup/gsup_test.err @@ -157,27 +157,27 @@ DLGSUP Stopping DLGSUP logging message 0: tested 3584 modifications, 771 parse failures message 1: tested 3584 modifications, 770 parse failures - message 2: tested 21248 modifications, 2575 parse failures + message 2: tested 21248 modifications, 2577 parse failures message 3: tested 2816 modifications, 510 parse failures message 4: tested 3584 modifications, 770 parse failures - message 5: tested 20736 modifications, 4023 parse failures + message 5: tested 20736 modifications, 4025 parse failures message 6: tested 3584 modifications, 771 parse failures message 7: tested 3584 modifications, 770 parse failures message 8: tested 2816 modifications, 510 parse failures message 9: tested 2816 modifications, 510 parse failures message 10: tested 3584 modifications, 770 parse failures message 11: tested 3328 modifications, 770 parse failures - message 12: tested 54016 modifications, 4626 parse failures - message 13: tested 11520 modifications, 1026 parse failures + message 12: tested 54016 modifications, 4628 parse failures + message 13: tested 11520 modifications, 1028 parse failures message 14: tested 5120 modifications, 1030 parse failures - message 15: tested 10752 modifications, 1262 parse failures + message 15: tested 10752 modifications, 1263 parse failures message 16: tested 7680 modifications, 1271 parse failures message 17: tested 8448 modifications, 2053 parse failures - message 18: tested 11264 modifications, 2307 parse failures + message 18: tested 11264 modifications, 2308 parse failures message 19: tested 5120 modifications, 1031 parse failures message 20: tested 4352 modifications, 1030 parse failures message 21: tested 3584 modifications, 771 parse failures - message 22: tested 5632 modifications, 771 parse failures + message 22: tested 5632 modifications, 772 parse failures message 23: tested 3584 modifications, 770 parse failures message 24: tested 3584 modifications, 771 parse failures message 25: tested 11264 modifications, 2058 parse failures -- 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-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Oct 4 11:56:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:56:50 +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 4: Code-Review+1 -- 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: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 04 Oct 2019 11:56: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 Fri Oct 4 11:57:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:57:08 +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: laforge has posted comments on this change. ( 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 ...................................................................... Patch Set 4: Code-Review+1 -- 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-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 11:57: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 Oct 4 11:57:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:57:24 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Print phy link state in cmd 'show transceiver' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15627 ) Change subject: bts-trx: vty: Print phy link state in cmd 'show transceiver' ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 11:57: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 Oct 4 11:57:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 11:57:54 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_set_bts(): Avoid double loop by checking current trx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15628 ) Change subject: bts-trx: trx_set_bts(): Avoid double loop by checking current trx ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 11:57: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 Oct 4 13:16:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 13:16:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 Change subject: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI ...................................................................... library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI Do not hard-code PCU_IF_SAPI_RACH for RACH.ind templates. We need to be able to specify other SAPIs (PCU_IF_SAPI_PTCCH) in the upcoming test cases for Timing Advance control. Change-Id: I7e2ebcbba5e47cf44f064e429c0517ef3acb15af --- M library/PCUIF_Types.ttcn 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15671/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index bcd9066..a36e261 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -570,14 +570,15 @@ template (value) PCUIF_BurstType burst_type, template (value) uint32_t fn, template (value) uint16_t arfcn, - template (value) int16_t qta := 0 + template (value) int16_t qta := 0, + template (value) PCUIF_Sapi sapi := PCU_IF_SAPI_RACH ) := { msg_type := PCU_IF_MSG_RACH_IND, bts_nr := bts_nr, spare := '0000'O, u := { rach_ind := { - sapi := PCU_IF_SAPI_RACH, + sapi := sapi, ra := ra, qta := qta, fn := fn, @@ -591,13 +592,14 @@ template uint16_t ra := ?, template uint8_t is_11bit := ?, template PCUIF_BurstType burst_type := ?, - template uint32_t fn := ?) := { + template uint32_t fn := ?, + template PCUIF_Sapi sapi := PCU_IF_SAPI_RACH) := { msg_type := PCU_IF_MSG_RACH_IND, bts_nr := bts_nr, spare := ?, u := { rach_ind := { - sapi := PCU_IF_SAPI_RACH, + sapi := sapi, ra := ra, qta := ?, fn := fn, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7e2ebcbba5e47cf44f064e429c0517ef3acb15af Gerrit-Change-Number: 15671 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 Oct 4 13:16:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 13:16:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance con... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 Change subject: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control ...................................................................... PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots are not continuous and there can be long time gaps between them. This happens due to a bursty nature of packet data. The actual Timing Advance of a MS may significantly change between such rare Uplink transmissions, so GPRS introduces additional mechanisms to control Timing Advance, and thus reduce interference between neighboring TDMA time-slots. At the moment of Uplink TBF establishment, initial Timing Advance is measured from ToA (Timing of Arrival) of an Access Burst. This is covered by another test case - TC_ta_rach_imm_ass. In response to that Access Burst the network sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index among with the initial Timing Advance value. And here PTCCH comes to play. PTCCH is a unidirectional channel on which the network can instruct a sub-set of 16 MS (whether TBFs are active or not) to adjust their Timing Advance continuously. To ensure continuous measurements of the signal propagation delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots defined by an assigned Timing Advance Index (see 3GPP TS 45.002). The purpose of this test case is to verify the assignment of Timing Advance Index, and the process of Timing Advance notification on PTCCH/D. The MTC first establishes several Uplink TBFs, but does not transmit any Uplink blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH indications to the PCU, checking the correctness of two received PTCCH/D messages (period of PTCCH/D is two multi-frames). At the moment of writing, PTCCH handling is not implemented in OsmoPCU (neither PTCCH/D messages are correct, nor PTCCH/U bursts are handled). Additionally, this change introduces a new message type, which is used for sending commands to the RAW components - RAW_PCU_Command. Commands can be used to (re)configure components at run-time. Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Related: SYS#4606 --- M pcu/PCUIF_RAW_Components.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 194 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/15672/1 diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn index 2297bbd..7feeca2 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_RAW_Components.ttcn @@ -97,8 +97,30 @@ data := { tdma_fn := ? } } +/* Commands are mostly used by the MTC to configure the components + * at run-time, e.g. to enable or disable some optional features. */ +type enumerated RAW_PCU_CommandType { + TDMA_CMD_ENABLE_PTCCH_UL_FWD /*!< Enable forwarding of TDMA_EV_PTCCH_UL_BURST to the MTC */ +}; + +type record RAW_PCU_Command { + RAW_PCU_CommandType cmd, + anytype data optional +}; + +template (value) RAW_PCU_Command ts_RAW_PCU_CMD(RAW_PCU_CommandType cmd) := { + cmd := cmd, + data := omit +} +template RAW_PCU_Command tr_RAW_PCU_CMD(template RAW_PCU_CommandType cmd := ?, + template anytype data := *) := { + cmd := cmd, + data := data +} + /* Generic port for messages and events */ type port RAW_PCU_MSG_PT message { + inout RAW_PCU_Command; inout RAW_PCU_Event; inout PCUIF_Message; } with { extension "internal" }; @@ -191,6 +213,9 @@ port RAW_PCU_MSG_PT PCUIF; /* Connection towards the test case */ port RAW_PCU_MSG_PT TC; + + /* Whether to forward PTCCH/U burst events to the TC */ + var boolean cfg_ptcch_burst_fwd := false; } private altstep as_BTS_CT_MsgQueue(integer bts_nr) @@ -260,6 +285,11 @@ PCUIF.send(pcu_msg); repeat; } + /* Optional forwarding of PTCCH/U burst indications to the test case */ + [cfg_ptcch_burst_fwd] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + TC.send(event); + repeat; + } /* Ignore other clock events (and guard against an empty queue) */ [] CLCK.receive(tr_RAW_PCU_CLCK_EV) { repeat; } } @@ -267,6 +297,7 @@ 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_Command cmd; var RAW_PCU_Event event; /* Init TDMA clock generator (so we can stop and start it) */ @@ -308,6 +339,17 @@ /* TDMA scheduler (clock and queue handling) */ [] as_BTS_CT_TDMASched(bts_nr); + /* Command handling */ + [] TC.receive(tr_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)) { + log("Enabling forwarding of PTCCH/U TDMA events to the TC"); + cfg_ptcch_burst_fwd := true; + repeat; + } + [] TC.receive(tr_RAW_PCU_CMD) -> value cmd { + log("Ignore unhandled command: ", cmd); + repeat; + } + /* TODO: handle events (e.g. disconnection) from the PCU interface */ [] PCUIF.receive(tr_RAW_PCU_EV) -> value event { log("Ignore unhandled event: ", event); diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 5bd966d..2ba207f 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -644,6 +644,157 @@ } } +/* Test of correct Timing Advance during an active Uplink TBF. + * + * Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots + * are not continuous and there can be long time gaps between them. This happens + * due to a bursty nature of packet data. The actual Timing Advance of a MS may + * significantly change between such rare Uplink transmissions, so GPRS introduces + * additional mechanisms to control Timing Advance, and thus reduce interference + * between neighboring TDMA time-slots. + * + * At the moment of Uplink TBF establishment, initial Timing Advance is measured + * from ToA (Timing of Arrival) of an Access Burst. This is covered by another + * test case - TC_ta_rach_imm_ass. In response to that Access Burst the network + * sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index + * among with the initial Timing Advance value. And here PTCCH comes to play. + * + * PTCCH is a unidirectional channel on which the network can instruct a sub-set + * of 16 MS (whether TBFs are active or not) to adjust their Timing Advance + * continuously. To ensure continuous measurements of the signal propagation + * delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots + * defined by an assigned Timing Advance Index (see 3GPP TS 45.002). + * + * The purpose of this test case is to verify the assignment of Timing Advance + * Index, and the process of Timing Advance notification on PTCCH/D. The MTC + * first establishes several Uplink TBFs, but does not transmit any Uplink + * blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH + * indications to the PCU, checking the correctness of two received PTCCH/D + * messages (period of PTCCH/D is two multi-frames). + */ +private altstep as_ta_ptcch(uint8_t bts_nr := 0, integer toa_factor := 1) +runs on RAW_PCU_Test_CT { + var integer counter := 0; + var RAW_PCU_Event event; + + /* Send Access Bursts on PTCCH/U for every TA Index */ + [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + log("Sending an Access Burst on PTCCH/U", + ", fn=", event.data.tdma_fn, + ", ToA=", counter * toa_factor); + /* TODO: do we care about RA and burst format? */ + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, + ra := oct2int('3A'O), + is_11bit := 0, + burst_type := BURST_TYPE_0, + fn := event.data.tdma_fn, + arfcn := 871, + qta := counter * toa_factor * 4, + sapi := PCU_IF_SAPI_PTCCH)); + counter := counter + 1; + repeat; + } +} + +private function f_TC_ta_ptcch_ul_multi_tbf(template PTCCHDownlinkMsg t_ta_msg) +runs on RAW_PCU_Test_CT { + var PTCCHDownlinkMsg ta_msg; + var PCUIF_Message pcu_msg; + timer T; + + /* First, send an RTS.req for the upcoming PTCCH/D block */ + 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(2.0); + alt { + /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) + * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ + [] as_ta_ptcch(bts_nr := 0, toa_factor := 7); + /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + ta_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); + log("Rx PTCCH/D message: ", ta_msg); + + /* Make sure Timing Advance values match our expectations */ + if (match(ta_msg, t_ta_msg)) { + setverdict(pass); + } else { + setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); + } + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for a PTCCH/D block"); + mtc.stop; + } + } +} + +testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { + var template PacketUlAssign t_ul_tbf_ass; + var PacketUlAssign ul_tbf_ass[7]; + var GsmRrMessage rr_msg[7]; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Enable forwarding of PTCCH/U TDMA events to us */ + BTS.send(ts_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)); + + /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ + for (var integer i := 0; i < 7; i := i + 1) { + ok := f_establish_tbf(rr_msg[i], ta := 0); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF #", i); + mtc.stop; + } + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); + } else { + setverdict(fail, "Failed to match UL TBF Assignment for #", i); + mtc.stop; + } + + /* We expect incremental TFI/USF assignment (dynamic allocation) */ + t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); + if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { + setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); + mtc.stop; + } + + /* We also expect Timing Advance Index to be a part of the assignment */ + if (ul_tbf_ass[i].dynamic.ta_index != i) { + setverdict(fail, "Failed to match Timing Advance Index for #", i); + /* Keep going, the current OsmoPCU does not assign TA Index */ + } + } + + /* Now we have all 7 TBFs established in one-phase access mode, + * however we will not be sending any data on them. Instead, we + * will be sending RACH.ind on PTCCH/U during 4 multi-frame + * periods (TAI 0..8), and then will check two PTCCH/D blocks. + * + * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA + * time-slots, so at the moment of scheduling a PTCCH/D block + * the PCU has odd number of PTCCH/U Access Bursts received. */ + f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + /* Other values are not known (yet) */ + tai3_ta := ?)); + f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( + /* Other values are out of our interest */ + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, + /* Other values are not known (yet) */ + tai6_ta := ?)); +} + /* 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); @@ -760,6 +911,7 @@ execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); execute( TC_ta_rach_imm_ass() ); + execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Gerrit-Change-Number: 15672 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 Oct 4 13:24:15 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 13:24:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance con... 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/+/15672 to look at the new patch set (#2). Change subject: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control ...................................................................... PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots are not continuous and there can be long time gaps between them. This happens due to a bursty nature of packet data. The actual Timing Advance of a MS may significantly change between such rare Uplink transmissions, so GPRS introduces additional mechanisms to control Timing Advance, and thus reduce interference between neighboring TDMA time-slots. At the moment of Uplink TBF establishment, initial Timing Advance is measured from ToA (Timing of Arrival) of an Access Burst. This is covered by another test case - TC_ta_rach_imm_ass. In response to that Access Burst the network sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index among with the initial Timing Advance value. And here PTCCH comes to play. PTCCH is a unidirectional channel on which the network can instruct a sub-set of 16 MS (whether TBFs are active or not) to adjust their Timing Advance continuously. To ensure continuous measurements of the signal propagation delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots defined by an assigned Timing Advance Index (see 3GPP TS 45.002). The purpose of this test case is to verify the assignment of Timing Advance Index, and the process of Timing Advance notification on PTCCH/D. The MTC first establishes several Uplink TBFs, but does not transmit any Uplink blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH indications to the PCU, checking the correctness of two received PTCCH/D messages (period of PTCCH/D is two multi-frames). At the moment of writing, PTCCH handling is not implemented in OsmoPCU (neither PTCCH/D messages are correct, nor PTCCH/U bursts are handled). Additionally, this change introduces a new message type, which is used for sending commands to the RAW components - RAW_PCU_Command. Commands can be used to (re)configure components at run-time. Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Related: SYS#4606 --- M pcu/PCUIF_RAW_Components.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 194 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/15672/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Gerrit-Change-Number: 15672 Gerrit-PatchSet: 2 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 Fri Oct 4 13:38:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 13:38:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 ) Change subject: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7e2ebcbba5e47cf44f064e429c0517ef3acb15af Gerrit-Change-Number: 15671 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 13:38: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 Fri Oct 4 13:44:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 13:44:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance con... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 ) Change subject: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Gerrit-Change-Number: 15672 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, 04 Oct 2019 13:44: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 Oct 4 13:51:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 13:51:03 +0000 Subject: Change in ...docker-playground[master]: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-h... In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/15652 to look at the new patch set (#2). Change subject: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks ...................................................................... debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks Scripts ttcn3-tcpdump-start.sh and ttcn3-tcpdump-stop.sh, run by osmo-ttcn3-hacks upon start and end of every test in the suite, starts and stops tcpdump and netcat each time. netcat is started in order to have a dummy sink for gsmtap log packets, to get rid of annoying ICMP messages as well as the kernel deciding to drop those messages (hence not ending up inside the pcap file of tcpdump) under some circumstances. Depends: osmo-ttcn3-hacks.git Id69d98db63f8260067ad6bc1525fb05c936912f2 Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 --- M debian-stretch-titan/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/52/15652/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 Gerrit-Change-Number: 15652 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Fri Oct 4 13:51:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 13:51:03 +0000 Subject: Change in ...docker-playground[master]: ttcn-*: Fix gsmtap log not enabled In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/15662 to look at the new patch set (#2). Change subject: ttcn-*: Fix gsmtap log not enabled ...................................................................... ttcn-*: Fix gsmtap log not enabled gsmtap log won't be sending any message unless it is allowed by "logging filter all 1". Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/osmo-stp.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bscnat-test/osmo-bsc-nat.cfg M ttcn3-bts-test/oml/osmo-bts.cfg M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-bts-test/osmo-bts.cfg M ttcn3-bts-test/virtphy/osmo-bts.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg M ttcn3-hlr-test/osmo-hlr.cfg M ttcn3-mgw-test/osmo-mgw.cfg M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg M ttcn3-pcu-test/osmo-pcu.cfg M ttcn3-pcu-test/sns/osmo-pcu.cfg M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sgsn-test/osmo-stp.cfg M ttcn3-sip-test/osmo-sip-connector.cfg 18 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/62/15662/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 Gerrit-Change-Number: 15662 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Fri Oct 4 14:01:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 14:01:05 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies 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/+/15670 to look at the new patch set (#3). Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... tests: osmux_test: Provide More accurate logging expectancies Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 --- M tests/osmux/osmux_test.c M tests/osmux/osmux_test.ok M tests/testsuite.at 3 files changed, 1,096 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/70/15670/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 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 Fri Oct 4 14:01:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 14:01:08 +0000 Subject: Change in ...libosmo-netif[master]: osmux: squash LOGP message to one line Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15673 Change subject: osmux: squash LOGP message to one line ...................................................................... osmux: squash LOGP message to one line It seems different compiler versions (jenkins and my workstation) are generating different line number for that message, and it makes osmux_test fail when improving logging on next commit. Change-Id: Ie2bb0ecf4cc165b9a1080e2558b33ba37014278c --- M src/osmux.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/73/15673/1 diff --git a/src/osmux.c b/src/osmux.c index 9d058b0..c43c3eb 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -366,8 +366,7 @@ if (rtph == NULL) return -1; - LOGP(DLMUX, LOGL_DEBUG, "Batch is full for RTP " - "ssrc=%u\n", rtph->ssrc); + LOGP(DLMUX, LOGL_DEBUG, "Batch is full for RTP sssrc=%u\n", rtph->ssrc); return -1; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie2bb0ecf4cc165b9a1080e2558b33ba37014278c Gerrit-Change-Number: 15673 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 Oct 4 14:20:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 14:20:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Create dummy gsmtap sink with netcat In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 ) Change subject: Create dummy gsmtap sink with netcat ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id69d98db63f8260067ad6bc1525fb05c936912f2 Gerrit-Change-Number: 15651 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 04 Oct 2019 14: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 Fri Oct 4 15:47:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:47:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance con... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 ) Change subject: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Gerrit-Change-Number: 15672 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, 04 Oct 2019 15:47: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 Fri Oct 4 15:47:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:47:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 ) Change subject: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7e2ebcbba5e47cf44f064e429c0517ef3acb15af Gerrit-Change-Number: 15671 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:47: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 Fri Oct 4 15:47:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:47:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638 ) Change subject: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:47: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 Oct 4 15:47:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:47:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved 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-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 Oct 4 15:47:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:47:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 ) Change subject: library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI ...................................................................... library/PCUIF_Types.ttcn: add optional parameter for RACH SAPI Do not hard-code PCU_IF_SAPI_RACH for RACH.ind templates. We need to be able to specify other SAPIs (PCU_IF_SAPI_PTCCH) in the upcoming test cases for Timing Advance control. Change-Id: I7e2ebcbba5e47cf44f064e429c0517ef3acb15af --- M library/PCUIF_Types.ttcn 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index bcd9066..a36e261 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -570,14 +570,15 @@ template (value) PCUIF_BurstType burst_type, template (value) uint32_t fn, template (value) uint16_t arfcn, - template (value) int16_t qta := 0 + template (value) int16_t qta := 0, + template (value) PCUIF_Sapi sapi := PCU_IF_SAPI_RACH ) := { msg_type := PCU_IF_MSG_RACH_IND, bts_nr := bts_nr, spare := '0000'O, u := { rach_ind := { - sapi := PCU_IF_SAPI_RACH, + sapi := sapi, ra := ra, qta := qta, fn := fn, @@ -591,13 +592,14 @@ template uint16_t ra := ?, template uint8_t is_11bit := ?, template PCUIF_BurstType burst_type := ?, - template uint32_t fn := ?) := { + template uint32_t fn := ?, + template PCUIF_Sapi sapi := PCU_IF_SAPI_RACH) := { msg_type := PCU_IF_MSG_RACH_IND, bts_nr := bts_nr, spare := ?, u := { rach_ind := { - sapi := PCU_IF_SAPI_RACH, + sapi := sapi, ra := ra, qta := ?, fn := fn, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7e2ebcbba5e47cf44f064e429c0517ef3acb15af Gerrit-Change-Number: 15671 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 Fri Oct 4 15:47:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:47:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance con... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 ) Change subject: PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control ...................................................................... PCU_Tests_RAW.ttcn: add a test case for continuous Timing Advance control Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots are not continuous and there can be long time gaps between them. This happens due to a bursty nature of packet data. The actual Timing Advance of a MS may significantly change between such rare Uplink transmissions, so GPRS introduces additional mechanisms to control Timing Advance, and thus reduce interference between neighboring TDMA time-slots. At the moment of Uplink TBF establishment, initial Timing Advance is measured from ToA (Timing of Arrival) of an Access Burst. This is covered by another test case - TC_ta_rach_imm_ass. In response to that Access Burst the network sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index among with the initial Timing Advance value. And here PTCCH comes to play. PTCCH is a unidirectional channel on which the network can instruct a sub-set of 16 MS (whether TBFs are active or not) to adjust their Timing Advance continuously. To ensure continuous measurements of the signal propagation delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots defined by an assigned Timing Advance Index (see 3GPP TS 45.002). The purpose of this test case is to verify the assignment of Timing Advance Index, and the process of Timing Advance notification on PTCCH/D. The MTC first establishes several Uplink TBFs, but does not transmit any Uplink blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH indications to the PCU, checking the correctness of two received PTCCH/D messages (period of PTCCH/D is two multi-frames). At the moment of writing, PTCCH handling is not implemented in OsmoPCU (neither PTCCH/D messages are correct, nor PTCCH/U bursts are handled). Additionally, this change introduces a new message type, which is used for sending commands to the RAW components - RAW_PCU_Command. Commands can be used to (re)configure components at run-time. Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Related: SYS#4606 --- M pcu/PCUIF_RAW_Components.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 194 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/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn index 2297bbd..7feeca2 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_RAW_Components.ttcn @@ -97,8 +97,30 @@ data := { tdma_fn := ? } } +/* Commands are mostly used by the MTC to configure the components + * at run-time, e.g. to enable or disable some optional features. */ +type enumerated RAW_PCU_CommandType { + TDMA_CMD_ENABLE_PTCCH_UL_FWD /*!< Enable forwarding of TDMA_EV_PTCCH_UL_BURST to the MTC */ +}; + +type record RAW_PCU_Command { + RAW_PCU_CommandType cmd, + anytype data optional +}; + +template (value) RAW_PCU_Command ts_RAW_PCU_CMD(RAW_PCU_CommandType cmd) := { + cmd := cmd, + data := omit +} +template RAW_PCU_Command tr_RAW_PCU_CMD(template RAW_PCU_CommandType cmd := ?, + template anytype data := *) := { + cmd := cmd, + data := data +} + /* Generic port for messages and events */ type port RAW_PCU_MSG_PT message { + inout RAW_PCU_Command; inout RAW_PCU_Event; inout PCUIF_Message; } with { extension "internal" }; @@ -191,6 +213,9 @@ port RAW_PCU_MSG_PT PCUIF; /* Connection towards the test case */ port RAW_PCU_MSG_PT TC; + + /* Whether to forward PTCCH/U burst events to the TC */ + var boolean cfg_ptcch_burst_fwd := false; } private altstep as_BTS_CT_MsgQueue(integer bts_nr) @@ -260,6 +285,11 @@ PCUIF.send(pcu_msg); repeat; } + /* Optional forwarding of PTCCH/U burst indications to the test case */ + [cfg_ptcch_burst_fwd] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + TC.send(event); + repeat; + } /* Ignore other clock events (and guard against an empty queue) */ [] CLCK.receive(tr_RAW_PCU_CLCK_EV) { repeat; } } @@ -267,6 +297,7 @@ 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_Command cmd; var RAW_PCU_Event event; /* Init TDMA clock generator (so we can stop and start it) */ @@ -308,6 +339,17 @@ /* TDMA scheduler (clock and queue handling) */ [] as_BTS_CT_TDMASched(bts_nr); + /* Command handling */ + [] TC.receive(tr_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)) { + log("Enabling forwarding of PTCCH/U TDMA events to the TC"); + cfg_ptcch_burst_fwd := true; + repeat; + } + [] TC.receive(tr_RAW_PCU_CMD) -> value cmd { + log("Ignore unhandled command: ", cmd); + repeat; + } + /* TODO: handle events (e.g. disconnection) from the PCU interface */ [] PCUIF.receive(tr_RAW_PCU_EV) -> value event { log("Ignore unhandled event: ", event); diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 5bd966d..b5aec76 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -644,6 +644,157 @@ } } +/* Test of correct Timing Advance during an active Uplink TBF. + * + * Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots + * are not continuous and there can be long time gaps between them. This happens + * due to a bursty nature of packet data. The actual Timing Advance of a MS may + * significantly change between such rare Uplink transmissions, so GPRS introduces + * additional mechanisms to control Timing Advance, and thus reduce interference + * between neighboring TDMA time-slots. + * + * At the moment of Uplink TBF establishment, initial Timing Advance is measured + * from ToA (Timing of Arrival) of an Access Burst. This is covered by another + * test case - TC_ta_rach_imm_ass. In response to that Access Burst the network + * sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index + * among with the initial Timing Advance value. And here PTCCH comes to play. + * + * PTCCH is a unidirectional channel on which the network can instruct a sub-set + * of 16 MS (whether TBFs are active or not) to adjust their Timing Advance + * continuously. To ensure continuous measurements of the signal propagation + * delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots + * defined by an assigned Timing Advance Index (see 3GPP TS 45.002). + * + * The purpose of this test case is to verify the assignment of Timing Advance + * Index, and the process of Timing Advance notification on PTCCH/D. The MTC + * first establishes several Uplink TBFs, but does not transmit any Uplink + * blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH + * indications to the PCU, checking the correctness of two received PTCCH/D + * messages (period of PTCCH/D is two multi-frames). + */ +private altstep as_ta_ptcch(uint8_t bts_nr := 0, integer toa_factor := 0) +runs on RAW_PCU_Test_CT { + var integer counter := 0; + var RAW_PCU_Event event; + + /* Send Access Bursts on PTCCH/U for every TA Index */ + [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + log("Sending an Access Burst on PTCCH/U", + ", fn=", event.data.tdma_fn, + ", ToA=", counter * toa_factor); + /* TODO: do we care about RA and burst format? */ + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, + ra := oct2int('3A'O), + is_11bit := 0, + burst_type := BURST_TYPE_0, + fn := event.data.tdma_fn, + arfcn := 871, + qta := counter * toa_factor * 4, + sapi := PCU_IF_SAPI_PTCCH)); + counter := counter + 1; + repeat; + } +} + +private function f_TC_ta_ptcch_ul_multi_tbf(template PTCCHDownlinkMsg t_ta_msg) +runs on RAW_PCU_Test_CT { + var PTCCHDownlinkMsg ta_msg; + var PCUIF_Message pcu_msg; + timer T; + + /* First, send an RTS.req for the upcoming PTCCH/D block */ + 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(2.0); + alt { + /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) + * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ + [] as_ta_ptcch(bts_nr := 0, toa_factor := 7); + /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + ta_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); + log("Rx PTCCH/D message: ", ta_msg); + + /* Make sure Timing Advance values match our expectations */ + if (match(ta_msg, t_ta_msg)) { + setverdict(pass); + } else { + setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); + } + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for a PTCCH/D block"); + mtc.stop; + } + } +} + +testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { + var template PacketUlAssign t_ul_tbf_ass; + var PacketUlAssign ul_tbf_ass[7]; + var GsmRrMessage rr_msg[7]; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Enable forwarding of PTCCH/U TDMA events to us */ + BTS.send(ts_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)); + + /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ + for (var integer i := 0; i < 7; i := i + 1) { + ok := f_establish_tbf(rr_msg[i], ta := 0); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF #", i); + mtc.stop; + } + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); + } else { + setverdict(fail, "Failed to match UL TBF Assignment for #", i); + mtc.stop; + } + + /* We expect incremental TFI/USF assignment (dynamic allocation) */ + t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); + if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { + setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); + mtc.stop; + } + + /* We also expect Timing Advance Index to be a part of the assignment */ + if (ul_tbf_ass[i].dynamic.ta_index != i) { + setverdict(fail, "Failed to match Timing Advance Index for #", i); + /* Keep going, the current OsmoPCU does not assign TA Index */ + } + } + + /* Now we have all 7 TBFs established in one-phase access mode, + * however we will not be sending any data on them. Instead, we + * will be sending RACH.ind on PTCCH/U during 4 multi-frame + * periods (TAI 0..8), and then will check two PTCCH/D blocks. + * + * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA + * time-slots, so at the moment of scheduling a PTCCH/D block + * the PCU has odd number of PTCCH/U Access Bursts received. */ + f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + /* Other values are not known (yet) */ + tai3_ta := ?)); + f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( + /* Other values are out of our interest */ + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, + /* Other values are not known (yet) */ + tai6_ta := ?)); +} + /* 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); @@ -760,6 +911,7 @@ execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); execute( TC_ta_rach_imm_ass() ); + execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868f78e3e95a95f8f2e55e237eea700d7d4726a3 Gerrit-Change-Number: 15672 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 Fri Oct 4 15:48:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:48:06 +0000 Subject: Change in ...libosmo-netif[master]: osmux: squash LOGP message to one line In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15673 ) Change subject: osmux: squash LOGP message to one line ...................................................................... osmux: squash LOGP message to one line It seems different compiler versions (jenkins and my workstation) are generating different line number for that message, and it makes osmux_test fail when improving logging on next commit. Change-Id: Ie2bb0ecf4cc165b9a1080e2558b33ba37014278c --- M src/osmux.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmux.c b/src/osmux.c index 9d058b0..c43c3eb 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -366,8 +366,7 @@ if (rtph == NULL) return -1; - LOGP(DLMUX, LOGL_DEBUG, "Batch is full for RTP " - "ssrc=%u\n", rtph->ssrc); + LOGP(DLMUX, LOGL_DEBUG, "Batch is full for RTP sssrc=%u\n", rtph->ssrc); return -1; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie2bb0ecf4cc165b9a1080e2558b33ba37014278c Gerrit-Change-Number: 15673 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 Oct 4 15:48:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:48:05 +0000 Subject: Change in ...libosmo-netif[master]: osmux: squash LOGP message to one line In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15673 ) Change subject: osmux: squash LOGP message to one line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie2bb0ecf4cc165b9a1080e2558b33ba37014278c Gerrit-Change-Number: 15673 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:48: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 Oct 4 15:48:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:48:36 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15670 ) Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15: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 Fri Oct 4 15:48:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:48:48 +0000 Subject: Change in ...docker-playground[master]: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-h... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15652 ) Change subject: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 Gerrit-Change-Number: 15652 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:48: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 Oct 4 15:48:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:48:52 +0000 Subject: Change in ...docker-playground[master]: ttcn-*: Fix gsmtap log not enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15662 ) Change subject: ttcn-*: Fix gsmtap log not enabled ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 Gerrit-Change-Number: 15662 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:48: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 Oct 4 15:48:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:48:53 +0000 Subject: Change in ...docker-playground[master]: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-h... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/15652 ) Change subject: debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks ...................................................................... debian-stretch-titan: Install netcat-openbsd required by osmo-ttcn3-hacks Scripts ttcn3-tcpdump-start.sh and ttcn3-tcpdump-stop.sh, run by osmo-ttcn3-hacks upon start and end of every test in the suite, starts and stops tcpdump and netcat each time. netcat is started in order to have a dummy sink for gsmtap log packets, to get rid of annoying ICMP messages as well as the kernel deciding to drop those messages (hence not ending up inside the pcap file of tcpdump) under some circumstances. Depends: osmo-ttcn3-hacks.git Id69d98db63f8260067ad6bc1525fb05c936912f2 Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 --- M debian-stretch-titan/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/debian-stretch-titan/Dockerfile b/debian-stretch-titan/Dockerfile index 426eb91..0778db6 100644 --- a/debian-stretch-titan/Dockerfile +++ b/debian-stretch-titan/Dockerfile @@ -25,6 +25,7 @@ procps \ tcpdump \ vim \ + netcat-openbsd \ && \ apt-get clean -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059 Gerrit-Change-Number: 15652 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 Oct 4 15:48:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:48:53 +0000 Subject: Change in ...docker-playground[master]: ttcn-*: Fix gsmtap log not enabled In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/15662 ) Change subject: ttcn-*: Fix gsmtap log not enabled ...................................................................... ttcn-*: Fix gsmtap log not enabled gsmtap log won't be sending any message unless it is allowed by "logging filter all 1". Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/osmo-stp.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bscnat-test/osmo-bsc-nat.cfg M ttcn3-bts-test/oml/osmo-bts.cfg M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-bts-test/osmo-bts.cfg M ttcn3-bts-test/virtphy/osmo-bts.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg M ttcn3-hlr-test/osmo-hlr.cfg M ttcn3-mgw-test/osmo-mgw.cfg M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg M ttcn3-pcu-test/osmo-pcu.cfg M ttcn3-pcu-test/sns/osmo-pcu.cfg M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sgsn-test/osmo-stp.cfg M ttcn3-sip-test/osmo-sip-connector.cfg 18 files changed, 18 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 5bb1525..2f6ab99 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -5,6 +5,7 @@ ! log gsmtap 172.18.2.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc.log logging filter all 1 diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index f58fe64..084f3ed 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.2.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-stp.log logging filter all 1 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 1cbd0c8..0ef5135 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -5,6 +5,7 @@ ! log gsmtap 172.18.12.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc.log logging filter all 1 diff --git a/ttcn3-bscnat-test/osmo-bsc-nat.cfg b/ttcn3-bscnat-test/osmo-bsc-nat.cfg index 66ecdc9..b873b21 100644 --- a/ttcn3-bscnat-test/osmo-bsc-nat.cfg +++ b/ttcn3-bscnat-test/osmo-bsc-nat.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.15.203 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc_nat.log logging filter all 1 diff --git a/ttcn3-bts-test/oml/osmo-bts.cfg b/ttcn3-bts-test/oml/osmo-bts.cfg index 562440b..2ed761a 100644 --- a/ttcn3-bts-test/oml/osmo-bts.cfg +++ b/ttcn3-bts-test/oml/osmo-bts.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bts.log logging filter all 1 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index b2a45bc..8b04f4a 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -5,6 +5,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bsc.log logging filter all 1 diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 11afc0d..b8ad8ee 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bts.log logging filter all 1 diff --git a/ttcn3-bts-test/virtphy/osmo-bts.cfg b/ttcn3-bts-test/virtphy/osmo-bts.cfg index 540dcc3..ce47b6d 100644 --- a/ttcn3-bts-test/virtphy/osmo-bts.cfg +++ b/ttcn3-bts-test/virtphy/osmo-bts.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.9.10 logging level set-all debug + logging filter all 1 ! log file /data/osmo-bts.log logging filter all 1 diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index fd1ea95..6644dae 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.3.202 logging level set-all debug + logging filter all 1 ! log file /data/osmo-ggsn.log logging filter all 1 diff --git a/ttcn3-hlr-test/osmo-hlr.cfg b/ttcn3-hlr-test/osmo-hlr.cfg index 57c1701..c5dcd89 100644 --- a/ttcn3-hlr-test/osmo-hlr.cfg +++ b/ttcn3-hlr-test/osmo-hlr.cfg @@ -3,6 +3,7 @@ ! log gsmtap 172.18.10.103 logging level set-all debug + logging filter all 1 ! log stderr logging filter all 1 diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index 86645ba..3c08ee0 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.4.181 logging level set-all debug + logging filter all 1 ! log stderr logging filter all 1 diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index 98a1a01..48765d2 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.1.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-msc.log logging filter all 1 diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index 1310be2..620fa68 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.1.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-stp.log logging filter all 1 diff --git a/ttcn3-pcu-test/osmo-pcu.cfg b/ttcn3-pcu-test/osmo-pcu.cfg index c1ed139..e486362 100644 --- a/ttcn3-pcu-test/osmo-pcu.cfg +++ b/ttcn3-pcu-test/osmo-pcu.cfg @@ -1,5 +1,6 @@ log gsmtap 172.18.13.10 logging level set-all debug + logging filter all 1 log file /data/osmo-pcu.log logging filter all 1 diff --git a/ttcn3-pcu-test/sns/osmo-pcu.cfg b/ttcn3-pcu-test/sns/osmo-pcu.cfg index b7c57d1..0b20ecb 100644 --- a/ttcn3-pcu-test/sns/osmo-pcu.cfg +++ b/ttcn3-pcu-test/sns/osmo-pcu.cfg @@ -1,5 +1,6 @@ log gsmtap 172.18.14.10 logging level set-all debug + logging filter all 1 log file /data/osmo-pcu.log logging filter all 1 diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index 0ca1a1d..5bf7325 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.8.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-sgsn.log logging filter all 1 diff --git a/ttcn3-sgsn-test/osmo-stp.cfg b/ttcn3-sgsn-test/osmo-stp.cfg index 1871358..30adf32 100644 --- a/ttcn3-sgsn-test/osmo-stp.cfg +++ b/ttcn3-sgsn-test/osmo-stp.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.1.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-stp.log logging filter all 1 diff --git a/ttcn3-sip-test/osmo-sip-connector.cfg b/ttcn3-sip-test/osmo-sip-connector.cfg index efdee58..04ef19c 100644 --- a/ttcn3-sip-test/osmo-sip-connector.cfg +++ b/ttcn3-sip-test/osmo-sip-connector.cfg @@ -4,6 +4,7 @@ ! log gsmtap 172.18.11.103 logging level set-all debug + logging filter all 1 ! log file /data/osmo-sip-connector.log logging filter all 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67 Gerrit-Change-Number: 15662 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 Oct 4 15:49:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:49:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Create dummy gsmtap sink with netcat In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 ) Change subject: Create dummy gsmtap sink with netcat ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id69d98db63f8260067ad6bc1525fb05c936912f2 Gerrit-Change-Number: 15651 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:49: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 Fri Oct 4 15:50:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:50:09 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: pass return value of osmo_sccp_user_sap_down() towards the... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15665 ) Change subject: iu_client: pass return value of osmo_sccp_user_sap_down() towards the caller ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3b7c2296eb8b26f0881cee643b834336daab86ea Gerrit-Change-Number: 15665 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:50: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 Oct 4 15:50:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:50:09 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: pass return value of osmo_sccp_user_sap_down() towards the... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15665 ) Change subject: iu_client: pass return value of osmo_sccp_user_sap_down() towards the caller ...................................................................... iu_client: pass return value of osmo_sccp_user_sap_down() towards the caller osmo_sccp_user_sap_down return 0 on success, negative values on failure Change-Id: I3b7c2296eb8b26f0881cee643b834336daab86ea --- M src/iu_client.c 1 file changed, 3 insertions(+), 7 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/iu_client.c b/src/iu_client.c index c309ce4..f4a9cd3 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -306,9 +306,7 @@ osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA, PRIM_OP_REQUEST, msg); - osmo_sccp_user_sap_down(g_scu, &prim->oph); - - return 0; + return osmo_sccp_user_sap_down(g_scu, &prim->oph); } int ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *uectx, const char *imsi) @@ -326,8 +324,7 @@ osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA, PRIM_OP_REQUEST, msg); - osmo_sccp_user_sap_down(g_scu, &prim->oph); - return 0; + return osmo_sccp_user_sap_down(g_scu, &prim->oph); } static int iu_grnc_id_parse(struct iu_grnc_id *dst, struct RANAP_GlobalRNC_ID *src) @@ -467,8 +464,7 @@ osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA, PRIM_OP_REQUEST, msg); - osmo_sccp_user_sap_down(g_scu, &prim->oph); - return 0; + return osmo_sccp_user_sap_down(g_scu, &prim->oph); } /* Send Iu Release for the given UE connection. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3b7c2296eb8b26f0881cee643b834336daab86ea Gerrit-Change-Number: 15665 Gerrit-PatchSet: 1 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 Fri Oct 4 15:50:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:50:29 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: ranap_iu_tx_release() change default cause code to Success In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15666 ) Change subject: iu_client: ranap_iu_tx_release() change default cause code to Success ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 Gerrit-Change-Number: 15666 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:50: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 Oct 4 15:51:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:51:00 +0000 Subject: Change in ...osmo-bsc[master]: gsm_08_08.c: Mark func bsc_find_msc() static In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15663 ) Change subject: gsm_08_08.c: Mark func bsc_find_msc() static ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7273a9452dbc4c1285cfa69269fa36ab09551d89 Gerrit-Change-Number: 15663 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:51: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 Oct 4 15:51:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:51:01 +0000 Subject: Change in ...osmo-bsc[master]: gsm_08_08.c: Mark func bsc_find_msc() static In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15663 ) Change subject: gsm_08_08.c: Mark func bsc_find_msc() static ...................................................................... gsm_08_08.c: Mark func bsc_find_msc() static Its currently only used by bsc_compl_l3() in same file. Change-Id: I7273a9452dbc4c1285cfa69269fa36ab09551d89 --- M include/osmocom/bsc/osmo_bsc.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/osmo_bsc.h b/include/osmocom/bsc/osmo_bsc.h index bebfb2f..163e494 100644 --- a/include/osmocom/bsc/osmo_bsc.h +++ b/include/osmocom/bsc/osmo_bsc.h @@ -28,7 +28,6 @@ struct bsc_msc_data *msc, int send_ping); int bsc_delete_connection(struct gsm_subscriber_connection *sccp); -struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *); int bsc_scan_bts_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); int bsc_send_welcome_ussd(struct gsm_subscriber_connection *conn); diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 4b0752f..ad67c3f 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -269,7 +269,7 @@ return subscr; } -struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, +static struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *msg) { struct gsm48_hdr *gh; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7273a9452dbc4c1285cfa69269fa36ab09551d89 Gerrit-Change-Number: 15663 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 Oct 4 15:53:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:53:01 +0000 Subject: Change in ...osmo-bts[master]: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15656 ) Change subject: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Gerrit-Change-Number: 15656 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: Fri, 04 Oct 2019 15: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 Fri Oct 4 15:53:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:53:34 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15657 ) Change subject: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea Gerrit-Change-Number: 15657 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:53: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 Fri Oct 4 15:53:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:53:52 +0000 Subject: Change in ...osmo-bts[master]: common/l1sap: increase ToA precision for packet Access Bursts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15658 ) Change subject: common/l1sap: increase ToA precision for packet Access Bursts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e6fa7985c430a9bdbd12af2a8b2a5a66f11a41c Gerrit-Change-Number: 15658 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:53: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 Oct 4 15:53:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:53:54 +0000 Subject: Change in ...osmo-bts[master]: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15656 ) Change subject: scheduler: fix handling of PTCCH/U and PTCCH/D logical channels ...................................................................... scheduler: fix handling of PTCCH/U and PTCCH/D logical channels 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 - they have nothing to do with xCCH coding. Instead, we need to use tx_pdtch_fn() for Downlink and rx_rach_fn() for Uplink. In l1sap_ph_rach_ind() we need to check if an Access Burst was received on PTCCH/U and forward it to OsmoPCU with proper SAPI value (PCU_IF_SAPI_PTCCH). To be able to specify a SAPI, a new parameter is introduced to pcu_tx_rach_ind(). Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Related: OS#4102 --- M include/osmo-bts/pcu_if.h M src/common/l1sap.c M src/common/pcu_sock.c M src/common/scheduler.c 4 files changed, 26 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 114f87d..f34e0cd 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -12,7 +12,7 @@ uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len, int8_t rssi, uint16_t ber10k, int16_t bto, int16_t lqual); int pcu_tx_rach_ind(struct gsm_bts *bts, int16_t qta, uint16_t ra, uint32_t fn, - uint8_t is_11bit, enum ph_burst_type burst_type); + uint8_t is_11bit, enum ph_burst_type burst_type, uint8_t sapi); int pcu_tx_time_ind(uint32_t fn); int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); diff --git a/src/common/l1sap.c b/src/common/l1sap.c index a77b53a..2874c81 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1313,6 +1313,20 @@ DEBUGPFN(DL1P, rach_ind->fn, "Rx PH-RA.ind\n"); + /* PTCCH/UL (Packet Timing Advance Control Channel) */ + if (L1SAP_IS_CHAN_PDCH(rach_ind->chan_nr) && L1SAP_IS_PTCCH(rach_ind->fn)) { + LOGPFN(DL1P, LOGL_DEBUG, rach_ind->fn, + /* TODO: calculate and print Timing Advance Index */ + "Access Burst for continuous Timing Advance control (toa256=%d)\n", + rach_ind->acc_delay_256bits); + + /* QTA: Timing Advance in units of 1/4 of a symbol */ + pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, + rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, + rach_ind->burst_type, PCU_IF_SAPI_PTCCH); + return 0; + } + /* check for handover access burst on dedicated channels */ if (!L1SAP_IS_CHAN_RACH(rach_ind->chan_nr)) { rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_HO); @@ -1349,8 +1363,8 @@ rach_ind->acc_delay, rach_ind->ra); pcu_tx_rach_ind(bts, rach_ind->acc_delay << 2, - rach_ind->ra, rach_ind->fn, - rach_ind->is_11bit, rach_ind->burst_type); + rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, + rach_ind->burst_type, PCU_IF_SAPI_RACH); return 0; } diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index ba9e172..51f72d8 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -380,7 +380,7 @@ } int pcu_tx_rach_ind(struct gsm_bts *bts, int16_t qta, uint16_t ra, uint32_t fn, - uint8_t is_11bit, enum ph_burst_type burst_type) + uint8_t is_11bit, enum ph_burst_type burst_type, uint8_t sapi) { struct msgb *msg; struct gsm_pcu_if *pcu_prim; @@ -395,7 +395,7 @@ pcu_prim = (struct gsm_pcu_if *) msg->data; rach_ind = &pcu_prim->u.rach_ind; - rach_ind->sapi = PCU_IF_SAPI_RACH; + rach_ind->sapi = sapi; rach_ind->ra = ra; rach_ind->qta = qta; rach_ind->fn = fn; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 40e0a54..19fec32 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -539,11 +539,15 @@ .desc = "Packet Timing advance control channel", .chan_nr = RSL_CHAN_OSMO_PDCH, - /* 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. */ .flags = TRX_CHAN_FLAG_PDCH, .rts_fn = rts_data_fn, - .dl_fn = tx_data_fn, - .ul_fn = rx_data_fn, + .dl_fn = tx_pdtch_fn, + .ul_fn = rx_rach_fn, }, [TRXC_CBCH] = { /* TODO: distinguish CBCH on SDCCH/4 and SDCCH/8 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I232e5f514fbad2c51daaa59ff516004aba97c8a3 Gerrit-Change-Number: 15656 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder 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 Fri Oct 4 15:53:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:53:54 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15657 ) Change subject: osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH ...................................................................... osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH If a logical channel, on which an Access Burst has been received, is not either of RACH, PDTCH or PTCCH, then this is a handover Access Burst, which is always encoded as 8-bit and shall contain the generic training sequence (TS0). Access Bursts on a PDCH time-slot are not related to handover. Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 4 insertions(+), 3 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/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8b0c761..421cf16 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -796,9 +796,10 @@ enum rach_synch_seq_t synch_seq = RACH_SYNCH_SEQ_TS0; int best_score = 127 * RACH_SYNCH_SEQ_LEN; - /* If chan != TRXC_RACH, this is a handover RACH, which is always encoded - * as 8-bit and should contain the generic training sequence (TS0). */ - if (chan == TRXC_RACH) { + /* If logical channel is not either of RACH, PDTCH or PTCCH, this is a + * handover Access Burst, which is always encoded as 8-bit and shall + * contain the generic training sequence (TS0). */ + if (chan == TRXC_RACH || chan == TRXC_PDTCH || chan == TRXC_PTCCH) { if (bi->flags & TRX_BI_F_TS_INFO) synch_seq = (enum rach_synch_seq_t) bi->tsc; else -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If7d6135d6c4d7f9bd71d9fab6f8adc3f8cfd10ea Gerrit-Change-Number: 15657 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 Fri Oct 4 15:53:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:53:54 +0000 Subject: Change in ...osmo-bts[master]: common/l1sap: increase ToA precision for packet Access Bursts In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15658 ) Change subject: common/l1sap: increase ToA precision for packet Access Bursts ...................................................................... common/l1sap: increase ToA precision for packet Access Bursts QTA is a Timing Advance value in units of 1/4 of a symbol. Let's use ToA256 (1/256 of a symbol) field of L1SAP RACH.ind as a base for QTA calculation in order to achieve better precision. Change-Id: I6e6fa7985c430a9bdbd12af2a8b2a5a66f11a41c --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 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/src/common/l1sap.c b/src/common/l1sap.c index 2874c81..ac1c99d 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1362,7 +1362,8 @@ LOGPFN(DL1P, LOGL_INFO, rach_ind->fn, "RACH for packet access (toa=%d, ra=%d)\n", rach_ind->acc_delay, rach_ind->ra); - pcu_tx_rach_ind(bts, rach_ind->acc_delay << 2, + /* QTA: Timing Advance in units of 1/4 of a symbol */ + pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, rach_ind->burst_type, PCU_IF_SAPI_RACH); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e6fa7985c430a9bdbd12af2a8b2a5a66f11a41c Gerrit-Change-Number: 15658 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 Fri Oct 4 15:54:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:54:16 +0000 Subject: Change in ...simtrace2[master]: hw: put board specific pin definition in corresponding file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15647 ) Change subject: hw: put board specific pin definition in corresponding file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I51f37dd112cf681f4b1dbb3d2320ff9a697eaa08 Gerrit-Change-Number: 15647 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:54: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 Oct 4 15:54:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:54:54 +0000 Subject: Change in ...simtrace2[master]: make LED definitions board specific In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15649 ) Change subject: make LED definitions board specific ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3226a9187a8d0b657ccf5dcd8f3586b2578f96d2 Gerrit-Change-Number: 15649 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:54: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 Oct 4 15:55:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:01 +0000 Subject: Change in ...simtrace2[master]: define LEDs for octsimtest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15650 ) Change subject: define LEDs for octsimtest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1296833bef2804c611640fcf4756e47905660e7b Gerrit-Change-Number: 15650 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15: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 Fri Oct 4 15:55:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:02 +0000 Subject: Change in ...simtrace2[master]: hw: put board specific pin definition in corresponding file In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/simtrace2/+/15647 ) Change subject: hw: put board specific pin definition in corresponding file ...................................................................... hw: put board specific pin definition in corresponding file SIM_PWEN and VCC_FWD are signals specific to the simtrace boards. the corresponding pins PA5 and PA26 are used for other signal on the octsim-tester. Change-Id: I51f37dd112cf681f4b1dbb3d2320ff9a697eaa08 --- M firmware/libboard/common/include/board_common.h M firmware/libboard/simtrace/include/board.h 2 files changed, 3 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/firmware/libboard/common/include/board_common.h b/firmware/libboard/common/include/board_common.h index cb72d40..ded4762 100644 --- a/firmware/libboard/common/include/board_common.h +++ b/firmware/libboard/common/include/board_common.h @@ -112,9 +112,6 @@ /* Interrupt request ID of USART peripheral connected to the phone */ #define IRQ_USART_PHONE USART1_IRQn -#define SIM_PWEN PIO_PA5 -#define VCC_FWD PIO_PA26 - // Board has UDP controller #define BOARD_USB_UDP diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index 0c1e533..7703451 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -35,7 +35,7 @@ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA31, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} /* Enable powering the card using the second 3.3 V output of the LDO (active high) */ -#define SIM_PWEN_PIN {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define SIM_PWEN_PIN {PIO_PA5, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} /* Enable powering the SIM card */ #define PWR_PINS SIM_PWEN_PIN /* Card presence pin */ @@ -93,9 +93,9 @@ /* Pins used to sniff phone-card communication */ #define PINS_SIM_SNIFF PIN_SIM_IO, PIN_SIM_CLK, PIN_SIM_RST_SNIFF /* Disable power converter 4.5-6V to 3.3V (active high) */ -#define PIN_SIM_PWEN_SNIFF {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define PIN_SIM_PWEN_SNIFF {PIO_PA5, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} /* Enable power switch to forward VCC_PHONE to VCC_SIM (active high) */ -#define PIN_VCC_FWD_SNIFF {VCC_FWD, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define PIN_VCC_FWD_SNIFF {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} /* Use phone VCC to power card */ #define PINS_PWR_SNIFF PIN_SIM_PWEN_SNIFF, PIN_VCC_FWD_SNIFF -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I51f37dd112cf681f4b1dbb3d2320ff9a697eaa08 Gerrit-Change-Number: 15647 Gerrit-PatchSet: 2 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 Fri Oct 4 15:55:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:02 +0000 Subject: Change in ...simtrace2[master]: make LED definitions board specific In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/simtrace2/+/15649 ) Change subject: make LED definitions board specific ...................................................................... make LED definitions board specific the LEDs (2 of them) were connected to the same pins on all boards, up to the octsim-tester. to be able to have board specific LEDs the definitions have moved from common to the each board. at the same time I added a bit of documentation what the LEDs are used for. Change-Id: I3226a9187a8d0b657ccf5dcd8f3586b2578f96d2 --- M firmware/libboard/common/include/board_common.h M firmware/libboard/owhw/include/board.h M firmware/libboard/qmod/include/board.h M firmware/libboard/sam3p256/include/board.h M firmware/libboard/simtrace/include/board.h 5 files changed, 70 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/firmware/libboard/common/include/board_common.h b/firmware/libboard/common/include/board_common.h index ded4762..dd21e4b 100644 --- a/firmware/libboard/common/include/board_common.h +++ b/firmware/libboard/common/include/board_common.h @@ -56,16 +56,12 @@ /** Core definition */ #define cortexm3 -#define PIO_LED_RED PIO_PA17 -#define PIO_LED_GREEN PIO_PA18 - -#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN - -#define LED_NUM_RED 0 -#define LED_NUM_GREEN 1 - +/* LEDs are used to indicate the status + * the LED definition is board specific + * most boards have two LEDs, one green and one red + * the red LED indicates of the main firmware is ready (on) or if there is an error (blinking) + * the green LED indicates if the firmware is idling (on) or if there is activity (blinking) + */ /** USART0 pin RX */ #define PIN_USART0_RXD {PIO_PA9A_URXD0, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} /** USART0 pin TX */ diff --git a/firmware/libboard/owhw/include/board.h b/firmware/libboard/owhw/include/board.h index 8c0052d..44472d0 100644 --- a/firmware/libboard/owhw/include/board.h +++ b/firmware/libboard/owhw/include/board.h @@ -31,6 +31,21 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58982400 // 18.432 * 16 / 5 +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /* USIM 2 interface (USART) */ #define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} #define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} diff --git a/firmware/libboard/qmod/include/board.h b/firmware/libboard/qmod/include/board.h index a738daa..5165434 100644 --- a/firmware/libboard/qmod/include/board.h +++ b/firmware/libboard/qmod/include/board.h @@ -20,9 +20,6 @@ #include "board_common.h" #include "simtrace_usb.h" -#define LED_USIM1 LED_GREEN -#define LED_USIM2 LED_RED - /** Name of the board */ #define BOARD_NAME "QMOD" /** Board definition */ @@ -33,6 +30,25 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58000000 // 18.432 * 29 / 6 +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 +/** the green LED is actually red and used as indication for USIM1 */ +#define LED_USIM1 LED_GREEN +/** the green LED is actually red and used as indication for USIM2 */ +#define LED_USIM2 LED_RED + /* USIM 2 interface (USART) */ #define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} #define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} diff --git a/firmware/libboard/sam3p256/include/board.h b/firmware/libboard/sam3p256/include/board.h index bd2ab49..58e8a24 100644 --- a/firmware/libboard/sam3p256/include/board.h +++ b/firmware/libboard/sam3p256/include/board.h @@ -30,6 +30,21 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58000000 +/** MCU pin connected to yellow LED2 */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED1 */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /** Pin configuration **/ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA20, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index 7703451..c109bea 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -31,6 +31,21 @@ /** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ #define BOARD_MCK 58982400 // 18.432 * 16 / 5 +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /** Pin configuration **/ /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA31, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3226a9187a8d0b657ccf5dcd8f3586b2578f96d2 Gerrit-Change-Number: 15649 Gerrit-PatchSet: 2 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 Fri Oct 4 15:55:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:03 +0000 Subject: Change in ...simtrace2[master]: define LEDs for octsimtest In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/simtrace2/+/15650 ) Change subject: define LEDs for octsimtest ...................................................................... define LEDs for octsimtest the OctSIM tester has only one amber LED. this is now mapped to the normally green LED, used for activity. because the LED is driven by an NPN transistor (as open collector) instead of being directly connected to the pin (as open collector) like on the other boards, the logic is inverted. since normally the LED is on on idle and blinks during activity, it will now be off on idle an only blink on activity (unless the code is extended to cope with the possible inverted logic). because there is no second LED but the current code requires one, I mapped is to an unused pin. the octosimtest target still does not compile completely, but at least the LED issue is fixed. Change-Id: I1296833bef2804c611640fcf4756e47905660e7b --- M firmware/libboard/octsimtest/include/board.h 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/firmware/libboard/octsimtest/include/board.h b/firmware/libboard/octsimtest/include/board.h index 2effc02..2e0f3c4 100644 --- a/firmware/libboard/octsimtest/include/board.h +++ b/firmware/libboard/octsimtest/include/board.h @@ -31,6 +31,22 @@ #define BOARD_MCK 58982400 // 18.432 * 16 / 5 /** Pin configuration **/ + +/** there is no red LED, but the code needs this second LED, thus we provide an unused pin */ +#define PIO_LED_RED PIO_PB13 +/** MCU pin connected to green LED, which is actually amber, and the logic is inverted since it is connected to an NPN transistor (used as open drain) */ +#define PIO_LED_GREEN PIO_PA4 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOB, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 + /* Button to force bootloader start (shorted to ground when pressed */ #define PIN_BOOTLOADER_SW {PIO_PA5, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1296833bef2804c611640fcf4756e47905660e7b Gerrit-Change-Number: 15650 Gerrit-PatchSet: 2 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 Fri Oct 4 15:55:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:27 +0000 Subject: Change in ...osmo-pcu[master]: Log RACH Requests using GSMTAP In-Reply-To: References: Message-ID: laforge 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+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-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:55: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 Oct 4 15:55:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:28 +0000 Subject: Change in ...osmo-pcu[master]: Log RACH Requests using GSMTAP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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, 6 insertions(+), 0 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/bts.cpp b/src/bts.cpp index df58494..a9ff553 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -750,6 +750,9 @@ /* 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, is_11bit ? 2 : 1); + 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..4ffe433 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 bursts */ }; struct BTS; diff --git a/src/pcu_vty.c b/src/pcu_vty.c index c47c896..a131dd2 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 Bursts" }, { 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: 2 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 Oct 4 15:55:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:51 +0000 Subject: Change in ...osmo-pcu[master]: Log AGCH and PCH blocks using GSMTAP In-Reply-To: References: Message-ID: laforge 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 3: Code-Review+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: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:55: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 Oct 4 15:55:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:55:52 +0000 Subject: Change in ...osmo-pcu[master]: Log AGCH and PCH blocks using GSMTAP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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, 16 insertions(+), 0 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/bts.h b/src/bts.h index 4ffe433..c2cc316 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 AGCH blocks */ + PCU_GSMTAP_C_DL_PCH = 7, /* downlink PCH 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..ac04663 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,10 @@ 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 + 4, 23); + 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 a131dd2..23a42e7 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: 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 Fri Oct 4 15:56:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:56:40 +0000 Subject: Change in ...libosmocore[master]: API doc tweaks (mncc.h, gsm_08_08.h) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15659 ) Change subject: API doc tweaks (mncc.h, gsm_08_08.h) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9b4c7e737c83c65e358496e4540c14be5abc5474 Gerrit-Change-Number: 15659 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 15:56: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 Fri Oct 4 15:56:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:56:41 +0000 Subject: Change in ...libosmocore[master]: API doc tweaks (mncc.h, gsm_08_08.h) In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15659 ) Change subject: API doc tweaks (mncc.h, gsm_08_08.h) ...................................................................... API doc tweaks (mncc.h, gsm_08_08.h) Change-Id: I9b4c7e737c83c65e358496e4540c14be5abc5474 --- M include/osmocom/gsm/mncc.h M include/osmocom/gsm/protocol/gsm_08_08.h 2 files changed, 7 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/mncc.h b/include/osmocom/gsm/mncc.h index e5e9607..db70235 100644 --- a/include/osmocom/gsm/mncc.h +++ b/include/osmocom/gsm/mncc.h @@ -10,10 +10,10 @@ /* Expanded fields from GSM TS 04.08, Table 10.5.102 */ struct gsm_mncc_bearer_cap { - int transfer; /* Information Transfer Capability */ - int mode; /* Transfer Mode */ - int coding; /* Coding Standard */ - int radio; /* Radio Channel Requirement */ + int transfer; /* Information Transfer Capability, see enum gsm48_bcap_itcap. */ + int mode; /* Transfer Mode, see enum gsm48_bcap_tmod. */ + int coding; /* Coding Standard, see enum gsm48_bcap_coding.*/ + int radio; /* Radio Channel Requirement, see enum gsm48_bcap_rrq. */ int speech_ctm; /* CTM text telephony indication */ int speech_ver[8]; /* Speech version indication, see enum gsm48_bcap_speech_ver; -1 marks end */ struct { diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index 9806e08..a540609 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -512,13 +512,15 @@ GSM0808_PAGINF_FOR_USSD = 0x02, }; -/* 3GPP TS 48.008 3.2.2.104 Speech Codec */ +/*! 3GPP TS 48.008 3.2.2.104 Speech Codec */ struct gsm0808_speech_codec { bool fi; bool pi; bool pt; bool tf; + /*! See enum gsm0808_speech_codec_type. */ uint8_t type; + /*! For examples, see enum gsm0808_speech_codec_defaults. */ uint16_t cfg; }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9b4c7e737c83c65e358496e4540c14be5abc5474 Gerrit-Change-Number: 15659 Gerrit-PatchSet: 2 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 Fri Oct 4 15:57:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:57:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: CCID: fix length checks in PC_to_RDR_{GetSlotStatus, SetParameters} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 ) Change subject: CCID: fix length checks in PC_to_RDR_{GetSlotStatus,SetParameters} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 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: I5ec32fd5fdf704ee06f21e548a16523a557d4988 Gerrit-Change-Number: 15642 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:57: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 Fri Oct 4 15:57:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:57:25 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 ) Change subject: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 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: I0be2d8b92f176f31250a76e6f5b74a5c12d8cf42 Gerrit-Change-Number: 15643 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:57: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 Oct 4 15:57:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:57:59 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 ) Change subject: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 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: I0dece04fd302041aa8e23208734e9028ad42cd62 Gerrit-Change-Number: 15645 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:57: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 Fri Oct 4 15:58:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:58:05 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid: Fix overflow in Fi value In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15646 ) Change subject: ccid: Fix overflow in Fi value ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15646 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: If2e2c46411d724883dca48f24e08d002e6670299 Gerrit-Change-Number: 15646 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 15:58: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 Oct 4 15:58:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:58:06 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 ) Change subject: Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) ...................................................................... Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) Change-Id: I0be2d8b92f176f31250a76e6f5b74a5c12d8cf42 --- M sysmoOCTSIM/config/hpl_usb_config.h M sysmoOCTSIM/config/usbd_config.h M sysmoOCTSIM/usb_descriptors.c 3 files changed, 7 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve; Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/config/hpl_usb_config.h b/sysmoOCTSIM/config/hpl_usb_config.h index bbfd99d..dd62bd9 100644 --- a/sysmoOCTSIM/config/hpl_usb_config.h +++ b/sysmoOCTSIM/config/hpl_usb_config.h @@ -39,7 +39,7 @@ // Max possible (by "Max Endpoint Number" config) // usbd_num_ep_sp #ifndef CONF_USB_D_NUM_EP_SP -#define CONF_USB_D_NUM_EP_SP CONF_USB_N_6 +#define CONF_USB_D_NUM_EP_SP CONF_USB_N_7 #endif // diff --git a/sysmoOCTSIM/config/usbd_config.h b/sysmoOCTSIM/config/usbd_config.h index 0be4363..a8861dd 100644 --- a/sysmoOCTSIM/config/usbd_config.h +++ b/sysmoOCTSIM/config/usbd_config.h @@ -204,7 +204,7 @@ // bInterfaceNumber <0x00-0xFF> // usb_cdcd_acm_comm_bifcnum #ifndef CONF_USB_CDCD_ACM_COMM_BIFCNUM -#define CONF_USB_CDCD_ACM_COMM_BIFCNUM 0x0 +#define CONF_USB_CDCD_ACM_COMM_BIFCNUM 0x1 #endif // bAlternateSetting <0x00-0xFF> // usb_cdcd_acm_comm_baltset @@ -253,7 +253,7 @@ // bInterfaceNumber <0x00-0xFF> // usb_cdcd_acm_data_bifcnum #ifndef CONF_USB_CDCD_ACM_DATA_BIFCNUM -#define CONF_USB_CDCD_ACM_DATA_BIFCNUM 0x1 +#define CONF_USB_CDCD_ACM_DATA_BIFCNUM 0x2 #endif // bAlternateSetting <0x00-0xFF> // usb_cdcd_acm_data_baltset diff --git a/sysmoOCTSIM/usb_descriptors.c b/sysmoOCTSIM/usb_descriptors.c index 429e8c2..ddb925b 100644 --- a/sysmoOCTSIM/usb_descriptors.c +++ b/sysmoOCTSIM/usb_descriptors.c @@ -162,7 +162,7 @@ .iface = { .bLength = sizeof(struct usb_iface_desc), .bDescriptorType = USB_DT_INTERFACE, - .bInterfaceNumber = 2, + .bInterfaceNumber = 0, .bAlternateSetting = 0, .bNumEndpoints = 3, .bInterfaceClass = 11, @@ -175,7 +175,8 @@ .bDescriptorType = 33, .bcdCCID = LE16(0x0110), .bMaxSlotIndex = 7, - .dwProtocols = 0x07, /* 5/3/1.8V */ + .bVoltageSupport = 0x07, /* 5/3/1.8V */ + .dwProtocols = 0x03, .dwDefaultClock = LE32(2500), .dwMaximumClock = LE32(20000), .bNumClockSupported = 4, @@ -185,7 +186,7 @@ .dwMaxIFSD = LE32(0), .dwSynchProtocols = LE32(0), .dwMechanical = LE32(0), - .dwFeatures = LE32(0x10), + .dwFeatures = LE32(0x10 | 0x00010000), .dwMaxCCIDMessageLength = 272, .bClassGetResponse = 0xff, .bClassEnvelope = 0xff, -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15643 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: I0be2d8b92f176f31250a76e6f5b74a5c12d8cf42 Gerrit-Change-Number: 15643 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen 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 Oct 4 15:58:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:58:06 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_df: Ensure all three endpoints are correctly set In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15644 ) Change subject: ccid_df: Ensure all three endpoints are correctly set ...................................................................... ccid_df: Ensure all three endpoints are correctly set The old code used to do OSMO_ASSERT(), i.e. checking if the endpoint number was != 0. However, now we're checking if it's != 0xFF, as the default initialization is 0xFF, and an unset endpoint can be detected this way. Change-Id: I7d334724a4c6b89ef8faa49bed49ed57ea216ff9 --- M sysmoOCTSIM/usb/class/ccid/device/ccid_df.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, approved; Verified diff --git a/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c b/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c index 018208a..65d3499 100644 --- a/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c +++ b/sysmoOCTSIM/usb/class/ccid/device/ccid_df.c @@ -91,9 +91,9 @@ ep = usb_find_ep_desc(usb_desc_next(desc->sod), desc->eod); } - ASSERT(func_data->func_ep_irq); - ASSERT(func_data->func_ep_in); - ASSERT(func_data->func_ep_out); + ASSERT(func_data->func_ep_irq != 0xff); + ASSERT(func_data->func_ep_in != 0xff); + ASSERT(func_data->func_ep_out != 0xff); _ccid_df_funcd.enabled = true; return ERR_NONE; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15644 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: I7d334724a4c6b89ef8faa49bed49ed57ea216ff9 Gerrit-Change-Number: 15644 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen 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 Oct 4 15:58:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:58:05 +0000 Subject: Change in ...osmo-ccid-firmware[master]: CCID: fix length checks in PC_to_RDR_{GetSlotStatus, SetParameters} In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 ) Change subject: CCID: fix length checks in PC_to_RDR_{GetSlotStatus,SetParameters} ...................................................................... CCID: fix length checks in PC_to_RDR_{GetSlotStatus,SetParameters} Change-Id: I5ec32fd5fdf704ee06f21e548a16523a557d4988 --- M ccid/ccid_device.c 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve; Verified laforge: Looks good to me, approved diff --git a/ccid/ccid_device.c b/ccid/ccid_device.c index 346f77d..049b1cf 100644 --- a/ccid/ccid_device.c +++ b/ccid/ccid_device.c @@ -678,7 +678,7 @@ switch (ch->bMessageType) { case PC_to_RDR_GetSlotStatus: - if (len != sizeof(u->get_slot_status)) + if (len < sizeof(u->get_slot_status)) goto short_msg; rc = ccid_handle_get_slot_status(cs, msg); break; @@ -708,7 +708,8 @@ rc = ccid_handle_reset_parameters(cs, msg); break; case PC_to_RDR_SetParameters: - if (len != sizeof(u->set_parameters)) + // smallest union member + if (len < (sizeof(u->set_parameters.abProtocolData.t0)+10)) goto short_msg; rc = ccid_handle_set_parameters(cs, msg); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15642 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: I5ec32fd5fdf704ee06f21e548a16523a557d4988 Gerrit-Change-Number: 15642 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen 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 Oct 4 15:58:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:58:07 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid: Fix overflow in Fi value In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15646 ) Change subject: ccid: Fix overflow in Fi value ...................................................................... ccid: Fix overflow in Fi value The Fi value can easily exceed 8bits. Even its default of 372 already exceeds 256... Change-Id: If2e2c46411d724883dca48f24e08d002e6670299 --- M ccid/ccid_device.h M ccid/ccid_slot_sim.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid/ccid_device.h b/ccid/ccid_device.h index d9cba52..afd4a7a 100644 --- a/ccid/ccid_device.h +++ b/ccid/ccid_device.h @@ -19,8 +19,8 @@ struct ccid_pars_decoded { /* global for T0/T1 */ - uint8_t fi; - uint8_t di; + uint32_t fi; + uint32_t di; enum ccid_clock_stop clock_stop; bool inverse_convention; diff --git a/ccid/ccid_slot_sim.c b/ccid/ccid_slot_sim.c index 7bd1dba..1bd514a 100644 --- a/ccid/ccid_slot_sim.c +++ b/ccid/ccid_slot_sim.c @@ -32,8 +32,8 @@ 0x07, 0x18, 0x00, 0x00, 0x01, 0xA5 }; static const struct ccid_pars_decoded slotsim_def_pars = { - .fi = 0, - .di = 0, + .fi = 372, + .di = 1, .clock_stop = CCID_CLOCK_STOP_NOTALLOWED, .inverse_convention = false, .t0 = { -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15646 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: If2e2c46411d724883dca48f24e08d002e6670299 Gerrit-Change-Number: 15646 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 Fri Oct 4 15:58:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 15:58:06 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 ) Change subject: ccid_gen_notify_slot_status: Fix bitmask of card slot insert status ...................................................................... ccid_gen_notify_slot_status: Fix bitmask of card slot insert status Change-Id: I0dece04fd302041aa8e23208734e9028ad42cd62 --- M sysmoOCTSIM/main.c 1 file changed, 25 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve; Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c index 8b3f5fa..9ef7f2f 100644 --- a/sysmoOCTSIM/main.c +++ b/sysmoOCTSIM/main.c @@ -301,13 +301,32 @@ } #include "ccid_proto.h" -struct msgb *ccid_gen_notify_slot_status(const uint8_t *bitmask, uint8_t bm_len) +static struct msgb *ccid_gen_notify_slot_status(uint8_t old_bm, uint8_t new_bm) { + uint8_t statusbytes[2] = {0}; //struct msgb *msg = ccid_msgb_alloc(); struct msgb *msg = msgb_alloc(64, "IRQ"); - struct ccid_rdr_to_pc_notify_slot_change *nsc = msgb_put(msg, sizeof(*nsc) + bm_len); + struct ccid_rdr_to_pc_notify_slot_change *nsc = msgb_put(msg, sizeof(*nsc) + sizeof(statusbytes)); nsc->bMessageType = RDR_to_PC_NotifySlotChange; - memcpy(&nsc->bmSlotCCState, bitmask, bm_len); + + for(int i = 0; i <8; i++) { + uint8_t byteidx = i >> 2; + uint8_t old_bit = old_bm & (1 << i); + uint8_t new_bit = new_bm & (1 << i); + uint8_t bv; + if (old_bit == new_bit && new_bit == 0) + bv = 0x00; + else if (old_bit == new_bit && new_bit == 1) + bv = 0x01; + else if (old_bit != new_bit && new_bit == 0) + bv = 0x02; + else + bv = 0x03; + + statusbytes[byteidx] |= bv << ((i % 4) << 1); + } + + memcpy(&nsc->bmSlotCCState, statusbytes, sizeof(statusbytes)); return msg; } @@ -319,19 +338,14 @@ struct msgb *msg; unsigned int i; - for (i = 0; i < 8; i++) { - bool irq_level = ncn8025_interrupt_level(i); - if (irq_level) - new_mask &= ~(1 << i); - else - new_mask |= (1 << i); - } + for (i = 0; i < 8; i++) + new_mask |= ncn8025_interrupt_level(i) << i; /* notify the user/host about any changes */ if (g_ccid_s.card_insert_mask != new_mask) { printf("CARD_DET 0x%02x -> 0x%02x\r\n", g_ccid_s.card_insert_mask, new_mask); - msg = ccid_gen_notify_slot_status(&new_mask, 1); + msg = ccid_gen_notify_slot_status(g_ccid_s.card_insert_mask, new_mask); msgb_enqueue_irqsafe(&g_ccid_s.irq_ep.list, msg); g_ccid_s.card_insert_mask = new_mask; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15645 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: I0dece04fd302041aa8e23208734e9028ad42cd62 Gerrit-Change-Number: 15645 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen 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 Oct 4 16:09:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 16:09:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Create dummy gsmtap sink with netcat In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 ) Change subject: Create dummy gsmtap sink with netcat ...................................................................... Create dummy gsmtap sink with netcat otherwise ICMP messages appear in pcap files and some messages are lost since they seem to be dropped by the kernel. Change-Id: Id69d98db63f8260067ad6bc1525fb05c936912f2 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 39 insertions(+), 18 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index 9bf3c0a..3ad14c0 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -1,10 +1,22 @@ #!/bin/sh -PIDFILE=/tmp/dumper.pid +PIDFILE_PCAP=/tmp/pcap.pid TCPDUMP=/usr/sbin/tcpdump DUMPCAP=/usr/bin/dumpcap + +PIDFILE_NETCAT=/tmp/netcat.pid +NETCAT=/bin/nc +GSMTAP_PORT=4729 + TESTCASE=$1 +kill_rm_pidfile() { + if [ -e $1 ]; then + kill "$(cat "$1")" + rm $1 + fi +} + echo "------ $TESTCASE ------" date @@ -12,10 +24,8 @@ TTCN3_PCAP_PATH=/tmp fi -if [ -e $PIDFILE ]; then - kill "$(cat "$PIDFILE")" - rm $PIDFILE -fi +kill_rm_pidfile $PIDFILE_NETCAT +kill_rm_pidfile $PIDFILE_PCAP if [ "$(id -u)" = "0" ]; then CMD="$TCPDUMP -U" @@ -39,9 +49,14 @@ fi fi +# Create a dummy sink for GSMTAP packets +$NETCAT -l -u -k -p $GSMTAP_PORT >/dev/null 2>$TESTCASE.netcat.stderr & +PID=$! +echo $PID > $PIDFILE_NETCAT + $CMD -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & PID=$! -echo $PID > $PIDFILE +echo $PID > $PIDFILE_PCAP # Wait until packet dumper creates the pcap file and starts recording. # We generate some traffic until we see packet dumper catches it. diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index c1ab9d0..1f4da3d 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -1,9 +1,24 @@ #!/bin/sh -PIDFILE=/tmp/dumper.pid +PIDFILE_PCAP=/tmp/pcap.pid +PIDFILE_NETCAT=/tmp/netcat.pid TESTCASE=$1 VERDICT="$2" +kill_rm_pidfile() { +if [ -e $1 ]; then + PSNAME="$(ps -q "$(cat "$1")" -o comm=)" + if [ "$PSNAME" != "sudo" ]; then + kill "$(cat "$1")" + else + # NOTE: This requires you to be root or something like + # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file + sudo kill "$(cat "$1")" + fi + rm $1 +fi +} + date if [ x"$VERDICT" = x"pass" ]; then @@ -31,14 +46,5 @@ i=$((i+1)) done -if [ -e $PIDFILE ]; then - DUMPER="$(ps -q "$(cat "$PIDFILE")" -o comm=)" - if [ "$DUMPER" != "sudo" ]; then - kill "$(cat "$PIDFILE")" - else - # NOTE: This requires you to be root or something like - # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file - sudo kill "$(cat "$PIDFILE")" - fi - rm $PIDFILE -fi +kill_rm_pidfile "$PIDFILE_PCAP" +kill_rm_pidfile "$PIDFILE_NETCAT" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id69d98db63f8260067ad6bc1525fb05c936912f2 Gerrit-Change-Number: 15651 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 Oct 4 16:20:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 16:20:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15648 ) Change subject: MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6983e8c0cc8e1d7d1619f127e80063d71a4759d2 Gerrit-Change-Number: 15648 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 16:20: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 Oct 4 16:20:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 16:20:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15648 ) Change subject: MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() ...................................................................... MSC_Tests.ttcn: fix race condition in f_tc_proc_ss_paging_fail() Sometimes in TC_proc_ss_paging_fail we hit a race condition. The problem is that the paging expiration timer in OsmoMSC is set to 10 seconds by default (see MSC_PAGING_RESPONSE_TIMER_DEFAULT), and in f_tc_proc_ss_paging_fail() we also wait 10.0 seconds. Let's increase our timer value to 20.0 seconds, so there will be more 10 seconds of leeway. Change-Id: I6983e8c0cc8e1d7d1619f127e80063d71a4759d2 Related: Jenkins ttcn3-msc-test build #677 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0d54405..fbb471e 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3705,8 +3705,9 @@ } } - /* Expect GSUP PROC_SS_ERROR message */ - f_expect_gsup_msg(gsup_rsp, T_val := 10.0); + /* Wait up to 20 seconds for GSUP PROC_SS_ERROR message. + * OsmoMSC waits for Paging Response 10 seconds by default. */ + f_expect_gsup_msg(gsup_rsp, T_val := 20.0); } testcase TC_proc_ss_paging_fail() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6983e8c0cc8e1d7d1619f127e80063d71a4759d2 Gerrit-Change-Number: 15648 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 Fri Oct 4 16:40:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 16:40:02 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies 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/libosmo-netif/+/15670 to look at the new patch set (#4). Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... tests: osmux_test: Provide More accurate logging expectancies Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 --- M tests/osmux/osmux_test.c M tests/osmux/osmux_test.ok M tests/testsuite.at 3 files changed, 1,096 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/70/15670/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 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 Oct 4 17:41:22 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Oct 2019 17:41:22 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_watch() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15660 ) Change subject: add osmo_fsm_inst_watch() ...................................................................... Patch Set 2: I wish my reply could be shorter, but this is a quite important aspect of osmo_fsm design, so I am taking the time necessary for this. There are two proposals, by Pau and Vadim. In short, I disagree with Pau, but find Vadim's idea interesting. But even if Vadim's idea solves most cases, I have another use case that needs to "watch" an FSM instance past main loops. I still have another idea to solve that differently, too. So I think I will now try Vadim's idea to replace this patch. In long: * Pau's callback idea: > TBH I don't like this API, I think it's too specific. > > I'd rather add a free_cb, which is more common for readers and more generic (can be reused for other purposes) (BTW, your proposal lacks a osmo_fsm_free_cb_remove(), I'll just assume that is included) IMHO use cases that need a callback function should rather be solved by event dispatch. If you're aiming at arbitrary cleanup actions, I'd rather use the FSM instance cleanup() functions. This here is really aiming only at the use case "Skip some action if an instance was freed". Usually we notify parent / child FSM instances of deallocation by events. But this doesn't work well in functions that are already running. Even if the term event sets a flag in the fi->priv struct, that may also be deallocated along. I am really aiming at only a 1bit information whether an FSM instance with its storage still exists, within a running function. A callback would also work, but would make implementing it more complex. Let's compare in pseudocode: Your proposal: my_free_callback() { complex_action1(); complex_action2(); complex_action3(); } safe_event_handling() { add_free_callback(fi2, my_free_callback, NULL); event_dispatch(fi1); remove_free_callback(fi2, my_free_callback); } But since this calling my_free_callback() is in essence a 1bit information, we might as well do: safe_event_handling() { fi_watch(&watch, fi2); event_dispatch(fi1); if (!watch.exists) { complex_action1(); complex_action2(); complex_action3(); } fi_unwatch(&watch); } I like this better because we can read the code in the flow of a single function. Furthermore, I am not aiming at adding more cleanup actions, but rather want to *skip* some usually normal action if a free has occured due to error handling. For that I ultimately need a bool flag to be evaluated in a running function. Your proposal solves it this way: my_free_callback(void *data) { bool *flag = data; *flag = false; } safe_event_handling() { bool flag = true; add_free_callback(fi2, my_free_callback, &flag); event_dispatch(fi1); if (!flag) return; normal_action(); } This would work, but since a bool is all we really need to be notified of a free, my patch is simpler. safe_event_handling() { fi_watch(&watch, fi2); event_dispatch(fi1); fi_unwatch(&watch); if (!watch.exists) return; normal_action(); } * Vadim's idea to free FSM instances in the main loop: We already have this osmo_fsm_inst_term_safely() feature, where terminated FSM instances get collected in a talloc pool, and only get deallocated when the last one is done. This solves various use-after-free problems in the same way as proposed, but indeed deferring deallocation to the main loop would more generally solve the problem in a simpler fashion. Implementation: We could talloc_reparent terminating FSM instances to this OTC_SELECT context, and then FSM instances would be deallocated by the next main loop iteration. It would be only a slight modification of the existing osmo_fsm_inst_term_safely() mechanisms. If we can be sure that terminated FSM instances are never deallocated before a function call returns back to osmo_select_main*(), we may not even need any code changes, if we drop events when the target inst is already terminating, or we could also do this: event_dispatch(fi1); if (fi2->proc.terminated) return; That would indeed be much simpler than my 'watcher' proposal. I like that. The only problem I see is that so far osmo_fsm API does not necessarily require an osmo_select_main_ctx(), or any select at all. But this is easily solved by adding another flag to the API that changes behavior only when set to true. A program needing deferred allocation can set the flag to true and then knows that it should use osmo_select_main_ctx(). * Other use case for "watcher": osmo-mgw/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c: this FSM instance handles MGCP and the state of an MGW endpoint with its individual connections. There we have the feature to notify an arbitrary FSM instance of failure or success: void osmo_mgcpc_ep_ci_request(..., struct osmo_fsm_inst *notify, uint32_t event_success, uint32_t event_failure, void *notify_data); This triggers e.g. a CRCX or MDCX, and once the response comes back, dispatches an arbitrary event to an arbitrary FSM instance. So far we had no check whether that 'notify' FSM instance still exists when the MGCP response is received. Obviously the MGCP response will come in a later main loop select iteration. So far there would be the need to somehow tell the osmo_mgcpc_ep_ci FSM that a 'notify' target has disappeared, but since we so far lack such API, we basically hope that the instance is still around when the reply comes in. I now I realized that this 'notify' is still vulnerable to use-after-free, by the order of messages coming in. Say a CC Release comes in in-between an MDCX and its OK response, so the CC Release deallocates, then the OK response dispatches to deallocated 'notify'. One way to solve that would be the proposed "watcher", which I have already implemented in a patch. That would work generally, and the calling FSM instance would not need to take any more action to prevent use-after-free during accessing the 'notify' FSM instance. Another way would be to add an osmo_mgcpc_ep_cancel_notify() API that makes sure no 'notify' are dispatched. Here a calling FSM instance would have to make sure to call this function before deallocation. That would be fair enough. I think it would be nice to have a generalized way of telling whether an FSM instance is still there or not. But I also noticed that it can be hard to make sure to call the osmo_fsm_inst_unwatch() in all cases. So I will go for Vadim's solution and the osmo_mgcpc_ep_cancel_notify(). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 Gerrit-Change-Number: 15660 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 17:41: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 Fri Oct 4 17:42:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 17:42:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... pcu: Allow tests to overwrite pcuif INFO_IND params Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 60 insertions(+), 98 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/15674/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index a36e261..ae0762a 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -677,62 +677,13 @@ ts_PCUIF_InfoTrx, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL }; - template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr, - template (value) uint16_t nsei, - template (value) uint16_t nsvci, - template (value) uint16_t bvci, - template (value) uint16_t local_port, - template (value) uint16_t remote_port, - template (value) OCT4 remote_ip, - template (value) PCUIF_Flags flags := c_PCUIF_Flags_default, - template (value) uint16_t mcc := 262, - template (value) uint16_t mnc := 42, - template (value) uint16_t lac := 13135, - template (value) uint8_t rac := 0, - template (value) uint16_t cell_id := 20960, - template (value) uint8_t bsic := 7, - template (value) PCUIF_InfoTrxs trx := ts_PCUIF_InfoTrxs_def, - template (value) uint32_t version := PCU_IF_VERSION) := { + template (value) PCUIF_info_ind info_ind) := { msg_type := PCU_IF_MSG_INFO_IND, bts_nr := bts_nr, spare := '0000'O, u := { - info_ind := { - version := version, - flags := flags, - trx := trx, - bsic := bsic, - mcc := mcc, - mnc := mnc, - mnc_3_digits := 0, - lac := lac, - rac := rac, - nsei := 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 := cell_id, - repeat_time := 5 * 50, - repeat_count := 3, - bvci := 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 := { nsvci, 0 }, - local_pprt := { local_port, 0 }, - remote_port := { remote_port, 0 }, - remote_ip := { remote_ip , '00000000'O } - } + info_ind := info_ind } } template PCUIF_Message tr_PCUIF_INFO_IND(template uint8_t bts_nr := ?, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 4a8d8b6..a464562 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -69,9 +69,58 @@ } } -function f_init_pcuif() runs on RAW_PCU_CT { +function f_default_pcuif_info_ind() return PCUIF_info_ind +{ + var PCUIF_info_ind info_ind; + info_ind := { + version := PCU_IF_VERSION, + flags := c_PCUIF_Flags_default, + trx := valueof(ts_PCUIF_InfoTrxs_def), + bsic := 7, + mcc := 262, + mnc := 42, + mnc_3_digits := 0, + 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 } + } + + return info_ind; +} + +function f_init_pcuif(template (omit) PCUIF_info_ind info_ind_tpl := omit) runs on RAW_PCU_CT { + var PCUIF_info_ind info_ind; map(self:PCU, system:PCU); + if (istemplatekind(info_ind_tpl, "omit")) { + info_ind := f_default_pcuif_info_ind(); + } else { + info_ind := valueof(info_ind_tpl); + } + /* Connect the Unix Domain Socket */ g_pcu_conn_id := f_pcuif_listen(PCU, mp_pcu_sock_path); PCU.receive(UD_connected:?); @@ -79,15 +128,8 @@ /* Wait for PCU_VERSION and return INFO_IND */ PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_TXT_IND(0, PCU_VERSION, ?))); /* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ - var template PCUIF_Message info_ind := ts_PCUIF_INFO_IND(bts_nr := 0, - 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) - ); - PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind)); + var template PCUIF_Message info_ind_msg := ts_PCUIF_INFO_IND(0, info_ind); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind_msg)); } function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { @@ -439,7 +481,7 @@ } } -private function f_init_raw(charstring id) +private function f_init_raw(charstring id, template (omit) PCUIF_info_ind info_ind_tpl := omit) runs on RAW_PCU_Test_CT { var PCUIF_info_ind info_ind; var RAW_PCUIF_CT vc_PCUIF; @@ -459,42 +501,11 @@ 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 } - }; - + if (istemplatekind(info_ind_tpl, "omit")) { + info_ind := f_default_pcuif_info_ind(); + } else { + info_ind := valueof(info_ind_tpl); + } vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path)); vc_BTS.start(f_BTS_CT_handler(0, info_ind)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 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 Oct 4 17:42:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 17:42:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_establish_tbf_ul() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 Change subject: pcu: Introduce func helper f_establish_tbf_ul() ...................................................................... pcu: Introduce func helper f_establish_tbf_ul() Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 31 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/15675/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index a464562..e17a369 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -563,6 +563,36 @@ return false; } +private function f_establish_tbf_ul(out PacketUlAssign ul_tbf_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 GsmRrMessage rr_imm_ass; + + if (not f_establish_tbf(rr_imm_ass, bts_nr, ra, is_11bit, burst_type, ta)) { + return false; + } + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass := rr_imm_ass.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"); + return false; + } + + /* 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()); + return false; + } + + return true; +} + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ private function f_tx_pcuif_data_ind(octetstring data, int16_t lqual_cb := 0) runs on RAW_PCU_Test_CT { @@ -859,7 +889,6 @@ var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; var PCUIF_Message pcu_msg; - var GsmRrMessage rr_msg; var octetstring data; var boolean ok; @@ -867,28 +896,12 @@ f_init_raw(testcasename()); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_msg); + ok := f_establish_tbf_ul(ul_tbf_ass); if (not ok) { setverdict(fail, "Failed to establish an Uplink TBF"); mtc.stop; } - /* Make sure we received an UL TBF 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; - } - - /* 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/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 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 Oct 4 17:42:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 17:42:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 Change subject: pcu: Introduce test TC_t3169 ...................................................................... pcu: Introduce test TC_t3169 Change-Id: I587413a7de7956daee3423057530e4052a55ba88 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 87 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15676/1 diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index ad9d8f4..9bf1f6a 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -306,6 +306,28 @@ usf := usf } + template RlcmacDlBlock tr_RLCMAC_DUMMY_CTRL := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := ? + }, + opt := *, + payload := { + msg_type := PACKET_DL_DUMMY_CTRL, + u := { + dl_dummy := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := * + } + } + } + } + } + /* Receive Template for Downlink ACK/NACK */ template RlcmacDlBlock tr_RLCMAC_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { ctrl := { diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index e17a369..5c6b969 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -614,6 +614,26 @@ f_tx_pcuif_data_ind(data, lqual_cb); } +private function f_tx_pcuif_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) +runs on RAW_PCU_Test_CT { + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := num_blocks - 1, /* num 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 < num_blocks; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (num_blocks - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + f_tx_pcuif_rlcmac_ul_block(ul_data); + } +} + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ private function f_rx_pcuif_rlcmac_dl_block(out RlcmacDlBlock dl_block) runs on RAW_PCU_Test_CT { @@ -635,6 +655,15 @@ } } +private function f_rx_pcuif_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + f_rx_pcuif_rlcmac_dl_block(dl_block); + if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL)) { + setverdict(fail, "Failed to match Packet DUMMY DL"); + mtc.stop; + } +} + 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; @@ -947,6 +976,41 @@ } } +/* Verify PCU drops TBF after some time of inactivity. */ +testcase TC_t3169() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data; + var boolean ok; + + info_ind := f_default_pcuif_info_ind(); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3169 := 1; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf_ul(ul_tbf_ass); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_pcuif_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_pcuif_rlcmac_dl_block_exp_ack_nack(dl_block); + + /* Wait until T3169 fires (plus 1 extra sec to make sure) */ + f_sleep(int2float(info_ind.t3169) + 1.0); + + /* Send an UL block once again, the TBF should be gone by now so no ACK */ + f_tx_pcuif_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_pcuif_rlcmac_dl_block_exp_dummy(dl_block); +} + control { execute( TC_ns_reset() ); @@ -963,6 +1027,7 @@ execute( TC_ta_rach_imm_ass() ); execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); + execute( TC_t3169() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 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 Oct 4 17:43:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:43:27 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15629 ) Change subject: bts-trx: Rework code handling poweron state ...................................................................... Patch Set 1: Code-Review+1 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 17:43: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 Oct 4 17:44:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:44:09 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15630 ) Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c ...................................................................... Patch Set 1: Code-Review+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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 17:44: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 Oct 4 17:45:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:45:17 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Get rid of messy transceiver_available state handler In-Reply-To: References: Message-ID: laforge 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: Code-Review+1 -- 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: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 17:45: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 Oct 4 17:45:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:45:45 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Drop unused func check_transceiver_availability() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15631 ) Change subject: bts-trx: Drop unused func check_transceiver_availability() ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 17:45: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 Oct 4 17:48:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:48:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 ) Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... Patch Set 1: Code-Review+1 You can always override ans Parameter oft a template by simply assigning it to a local variable and tzhen modifying members. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 17:48: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 Fri Oct 4 17:48:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:48:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_establish_tbf_ul() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 ) Change subject: pcu: Introduce func helper f_establish_tbf_ul() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 17:48: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 Fri Oct 4 17:50:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:50:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 ) Change subject: pcu: Introduce test TC_t3169 ...................................................................... Patch Set 1: Code-Review+1 There's no related OS# issue? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 17: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 Fri Oct 4 17:50:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 4 Oct 2019 17:50:50 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: write frequency offset direction (rx/tx) in log ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15624 ) Change subject: radioInterfaceMulti: write frequency offset direction (rx/tx) in log line ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 04 Oct 2019 17:50: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 Fri Oct 4 18:00:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 18:00:00 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_watch() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15660 ) Change subject: add osmo_fsm_inst_watch() ...................................................................... Patch Set 2: A few notes: * with my proposal, there's no need for a osmo_gsm_free_cb_remove(), Simply use: "osmo_fsm_free_cb(fi, NULL, NULL);" and you are done. * Regarding the "deferred until osmo_select_main_ctx()", I'd be fine with it, as long as it doesn't become a hard dependency of osmo_fsm_inst to have a main loop. There could be a "osmo_fsm_defer_free_select_ctx(fi, bool defer);", which when set to true, instead of deallocating it, ->terminated=true is set instead and scheduled to be freed. However, with this option the process may end up accessing the terminated (but still allocated) FSM and we'll not notice it with ASan. * I still don't think we need this really specific watch API you presented, at least in the libosmocore osmo_fsm API. The API I'm suggesting is pretty similar in lines of code and style, and still provides for far more uses (since the user can program the cb as he wishes). So all in all, I still think the free_cb is the best option here tbh. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 Gerrit-Change-Number: 15660 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 18:00: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 Fri Oct 4 18:03:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 18:03:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 to look at the new patch set (#2). Change subject: pcu: Introduce test TC_t3169 ...................................................................... pcu: Introduce test TC_t3169 Related: OS#3928 Change-Id: I587413a7de7956daee3423057530e4052a55ba88 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 87 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15676/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Fri Oct 4 18:04:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 4 Oct 2019 18:04:35 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: write frequency offset direction (rx/tx) in log ... In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved 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-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 Oct 4 18:44:46 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 4 Oct 2019 18:44:46 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... add osmo_fsm_set_dealloc_ctx(), to help with use-after-free This is a simpler and more general solution to the problem so far solved by osmo_fsm_term_safely(true). The aim is to defer talloc_free() until back in the main loop. Background: I discovered an osmo-msc use-after-free crash from an invalid message, caused by this pattern: void event_action() { osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } Usually, FOO_EVENT takes successful action, and afterwards we also notify bar of another event. However, in this particular case FOO_EVENT caused failure, and the immediate error handling directly terminated and deallocated bar. In such cases, dispatching BAR_EVENT causes a use-after-free; this constituted a DoS vector just from sending messages that fail to validate to osmo-msc. Instead, when this is enabled, we do not deallocate 'foo' until event_action() has returned back to the main loop. Test: duplicate fsm_dealloc_test.c using this, and print the number of items deallocated in each test loop, to ensure the feature works. We also verify that the deallocation safety works simply by fsm_dealloc_test.c not crashing. We should probably follow up with a condition in osmo_fsm_inst_dispatch() that avoids dispatching events to FSM instances that are already terminated, like 'if (fi->proc.terminated) return;'. Not in this patch. Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 --- M include/osmocom/core/fsm.h M src/fsm.c M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err 4 files changed, 3,511 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/15677/1 diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 1701c45..269befa 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -122,6 +122,7 @@ void osmo_fsm_log_addr(bool log_addr); void osmo_fsm_log_timeouts(bool log_timeouts); void osmo_fsm_term_safely(bool term_safely); +void osmo_fsm_set_dealloc_ctx(void *ctx); /*! Log using FSM instance's context, on explicit logging subsystem and level. * \param fi An osmo_fsm_inst. diff --git a/src/fsm.c b/src/fsm.c index c886351..0e411ff 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -93,6 +93,8 @@ static bool fsm_log_timeouts = false; /*! See osmo_fsm_term_safely(). */ static bool fsm_term_safely_enabled = false; +/*! See osmo_fsm_set_dealloc_ctx() */ +static void *fsm_dealloc_ctx = NULL; /*! Internal state for FSM instance termination cascades. */ static __thread struct { @@ -104,6 +106,16 @@ void *collect_ctx; } fsm_term_safely; +/*! Internal call to free an FSM instance, which redirects to the context set by osmo_fsm_set_dealloc_ctx() if any. + */ +static void fsm_free_or_steal(void *talloc_object) +{ + if (fsm_dealloc_ctx) + talloc_steal(fsm_dealloc_ctx, talloc_object); + else + talloc_free(talloc_object); +} + /*! specify if FSM instance addresses should be logged or not * * By default, the FSM name includes the pointer address of the \ref @@ -139,11 +151,9 @@ /*! Enable safer way to deallocate cascades of terminating FSM instances. * - * For legacy compatibility, this is disabled by default. In newer programs / releases, it is recommended to enable this - * feature during main() startup, since it greatly simplifies deallocating child, parent and other FSM instances without - * running into double-free or use-after-free scenarios. When enabled, this feature changes the order of logging, which - * may break legacy unit test expectations, and changes the order of deallocation to after the parent term event is - * dispatched. + * Note, using osmo_fsm_set_dealloc_ctx() is a more general solution to this same problem. + * Particularly, in a program using osmo_select_main_ctx(), the simplest solution to avoid most use-after-free problems + * from FSM instance deallocation is using osmo_fsm_set_dealloc_ctx(OTC_SELECT). * * When enabled, an FSM instance termination detects whether another FSM instance is already terminating, and instead of * deallocating immediately, collects all terminating FSM instances in a talloc context, to be bulk deallocated once all @@ -155,6 +165,9 @@ * * For illustration, see fsm_dealloc_test.c. * + * When enabled, this feature changes the order of logging, which may break legacy unit test expectations, and changes + * the order of deallocation to after the parent term event is dispatched. + * * \param[in] term_safely Pass true to switch to safer FSM instance termination behavior. */ void osmo_fsm_term_safely(bool term_safely) @@ -162,6 +175,31 @@ fsm_term_safely_enabled = term_safely; } +/*! Instead of deallocating FSM instances, move them to the given talloc context. + * + * It is the caller's responsibility to clear this context to actually free the memory of terminated FSM instances. + * Make sure to not talloc_free(ctx) itself before setting a different osmo_fsm_set_dealloc_ctx(). To clear a ctx + * without the need to call osmo_fsm_set_dealloc_ctx() again, rather use talloc_free_children(ctx). + * + * For example, to defer deallocation to the next osmo_select_main_ctx() iteration, set this to OTC_SELECT. + * + * Deferring deallocation is the simplest solution to avoid most use-after-free problems from FSM instance deallocation. + * This is a simpler and more general solution than osmo_fsm_term_safely(). + * + * To disable the feature again, pass NULL as ctx. + * + * Both osmo_fsm_term_safely() and osmo_fsm_set_dealloc_ctx() can be enabled at the same time, which will result in + * first collecting deallocated FSM instances in fsm_term_safely.collect_ctx, and finally reparenting that to the ctx + * passed here. However, in practice, it does not really make sense to enable both at the same time. + * + * \param ctx[in] Instead of talloc_free()int, talloc_steal() all future deallocated osmo_fsm_inst instances to this + * ctx. If NULL, go back to talloc_free() as usual. + */ +void osmo_fsm_set_dealloc_ctx(void *ctx) +{ + fsm_dealloc_ctx = ctx; +} + /*! talloc_free() the given object immediately, or once ongoing FSM terminations are done. * * If an FSM deallocation cascade is ongoing, talloc_steal() the given talloc_object into the talloc context that is @@ -185,7 +223,7 @@ static void osmo_fsm_defer_free(void *talloc_object) { if (!fsm_term_safely.depth) { - talloc_free(talloc_object); + fsm_free_or_steal(talloc_object); return; } @@ -412,7 +450,7 @@ osmo_timer_setup(&fi->timer, fsm_tmr_cb, fi); if (osmo_fsm_inst_update_id(fi, id) < 0) { - talloc_free(fi); + fsm_free_or_steal(fi); return NULL; } @@ -529,11 +567,11 @@ * deallocate separately to avoid use-after-free errors, put it in there and deallocate all at once. */ LOGPFSM(fi, "Deallocated, including all deferred deallocations\n"); osmo_fsm_defer_free(fi); - talloc_free(fsm_term_safely.collect_ctx); + fsm_free_or_steal(fsm_term_safely.collect_ctx); fsm_term_safely.collect_ctx = NULL; } else { LOGPFSM(fi, "Deallocated\n"); - talloc_free(fi); + fsm_free_or_steal(fi); } fsm_term_safely.root_fi = NULL; } diff --git a/tests/fsm/fsm_dealloc_test.c b/tests/fsm/fsm_dealloc_test.c index ce49205..9a6974d 100644 --- a/tests/fsm/fsm_dealloc_test.c +++ b/tests/fsm/fsm_dealloc_test.c @@ -355,7 +355,7 @@ osmo_fsm_inst_term(obj->fi, OSMO_FSM_TERM_REGULAR, NULL); } -void test_dealloc(enum objname trigger, bool by_destroy_event) +void test_dealloc(enum objname trigger, bool by_destroy_event, void *loop_ctx) { struct scene *s = scene_alloc(); const char *label = by_destroy_event ? "destroy-event" : "term"; @@ -383,16 +383,63 @@ LOGP(DLGLOBAL, LOGL_DEBUG, "--- %d objects remain. cleaning up\n", remain); } else LOGP(DLGLOBAL, LOGL_DEBUG, "--- all deallocated.\n"); + + if (loop_ctx) { + fprintf(stderr, "*** loop_ctx contains %zu blocks, deallocating.\n", + talloc_total_blocks(loop_ctx)); + talloc_free_children(loop_ctx); + } + + /* Silently free the remaining objects. */ scene_clean(s); + if (loop_ctx) + talloc_free_children(loop_ctx); +} + +static void trigger_tests(void *loop_ctx) +{ + size_t ctx_blocks; + size_t ctx_size; + enum objname trigger; + int by_destroy_event; + + ctx_blocks = talloc_total_blocks(ctx); + ctx_size = talloc_total_size(ctx); + + for (trigger = 0; trigger < scene_size; trigger++) { + for (by_destroy_event = 0; by_destroy_event < 2; by_destroy_event++) { + test_dealloc(trigger, (bool)by_destroy_event, loop_ctx); + + if (ctx_blocks != talloc_total_blocks(ctx) + || ctx_size != talloc_total_size(ctx)) { + talloc_report_full(ctx, stderr); + OSMO_ASSERT(false); + } + } + } +} + +void test_osmo_fsm_term_safely() +{ + fprintf(stderr, "\n\n%s()\n", __func__); + osmo_fsm_term_safely(true); + trigger_tests(NULL); + osmo_fsm_term_safely(false); + fprintf(stderr, "\n\n%s() done\n", __func__); +} + +void test_osmo_fsm_set_dealloc_ctx() +{ + fprintf(stderr, "\n\n%s()\n", __func__); + void *dealloc_ctx = talloc_named_const(ctx, 0, "fsm_dealloc"); + osmo_fsm_set_dealloc_ctx(dealloc_ctx); + trigger_tests(dealloc_ctx); + osmo_fsm_set_dealloc_ctx(NULL); + fprintf(stderr, "\n\n%s() done\n", __func__); } int main(void) { - enum objname trigger; - size_t ctx_blocks; - size_t ctx_size; - int by_destroy_event; - ctx = talloc_named_const(NULL, 0, "main"); osmo_init_logging2(ctx, NULL); @@ -405,22 +452,10 @@ log_set_category_filter(osmo_stderr_target, DLGLOBAL, 1, LOGL_DEBUG); - osmo_fsm_term_safely(true); osmo_fsm_register(&test_fsm); - ctx_blocks = talloc_total_blocks(ctx); - ctx_size = talloc_total_size(ctx); - - for (trigger = 0; trigger < scene_size; trigger++) { - for (by_destroy_event = 0; by_destroy_event < 2; by_destroy_event++) { - test_dealloc(trigger, (bool)by_destroy_event); - if (ctx_blocks != talloc_total_blocks(ctx) - || ctx_size != talloc_total_size(ctx)) { - talloc_report_full(ctx, stderr); - OSMO_ASSERT(false); - } - } - } + test_osmo_fsm_term_safely(); + test_osmo_fsm_set_dealloc_ctx(); talloc_free(ctx); return 0; diff --git a/tests/fsm/fsm_dealloc_test.err b/tests/fsm/fsm_dealloc_test.err index d12c5aa..973f3d4 100644 --- a/tests/fsm/fsm_dealloc_test.err +++ b/tests/fsm/fsm_dealloc_test.err @@ -1,3 +1,6 @@ + + +test_osmo_fsm_term_safely() DLGLOBAL DEBUG scene_alloc() DLGLOBAL DEBUG test(root){alive}: Allocated DLGLOBAL DEBUG test(root){alive}: Allocated @@ -3250,3 +3253,3408 @@ DLGLOBAL DEBUG 0 (-) DLGLOBAL DEBUG --- after destroy-event cascade: DLGLOBAL DEBUG --- all deallocated. + + +test_osmo_fsm_term_safely() done + + +test_osmo_fsm_set_dealloc_ctx() +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at root +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (2*root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (2*root.alive(),__twig1a.cleanup(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 3 (2*root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (root.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (root.alive(),__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 3 (root.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 7 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*root.alive(),_branch1.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 3 (2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 2 (root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0 +DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0 +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone( +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.othe +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.clea +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone( +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.chil +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1] +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig0a.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1] +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig0a.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0a.alive(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig0a.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig0b +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig0b +DLGLOBAL DEBUG test(__twig0b){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig0b.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig0b.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0b.alive(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig0b.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone( +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone( +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.chil +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_bran +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_bran +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root. +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig1a.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0. +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b. +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b. +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a. +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0 +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a. +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a. +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0. +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branc +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0. +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig1a.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.alive(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig1a.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig1b +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig1b +DLGLOBAL DEBUG test(__twig1b){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig1b.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig1b.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.alive(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig1b.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at other +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 1 (other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 2 (other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 5 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 2 (other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 2 (other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 1 (other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. + + +test_osmo_fsm_set_dealloc_ctx() done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 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 Fri Oct 4 18:51:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 18:51:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 ) Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn at a462 PS1, Line 462: So this comment is removed (actually not moved), but we still using hard-coded parameters? Please keep it. https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn at 72 PS1, Line 72: f_default_pcuif_info_ind You can do this without a function, just define a global constant instead: const PCUIF_info_ind default_info_ind := { ... }; so then it can be tuned by copying to a variable: var PCUIF_info_ind info_ind := default_info_ind; info_ind.foo := BAR; https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn at 114 PS1, Line 114: f_init_pcuif Not sure if this function really needs to be changed. The new test cases should be based on top of the new components, while the existing test cases do not require us to pass different INFO.ind. https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn at 484 PS1, Line 484: template (omit) PCUIF_info_ind info_ind_tpl := omit So then you will not need this ugly template-omit hack: ..., PCUIF_info_ind := default_info_ind); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 18:51: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 Fri Oct 4 19:05:36 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 19:05:36 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 1: Code-Review+1 (1 comment) Same question for other fprintf() calls, why not LOGP()? https://gerrit.osmocom.org/#/c/15677/1/tests/fsm/fsm_dealloc_test.c File tests/fsm/fsm_dealloc_test.c: https://gerrit.osmocom.org/#/c/15677/1/tests/fsm/fsm_dealloc_test.c at 388 PS1, Line 388: fprintf Why not LOGP? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 04 Oct 2019 19:05: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 Fri Oct 4 19:35:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 19:35:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_establish_tbf_ul() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 ) Change subject: pcu: Introduce func helper f_establish_tbf_ul() ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/15675/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15675/1/pcu/PCU_Tests_RAW.ttcn at 566 PS1, Line 566: f_establish_tbf_ul I am not against helper functions in TTCN-3, but sometimes it feels like we're loosing flexibility. And in the end it turns that one helper is calling another helper with calls some other helpers. On the other hand, I am also agree that we need to avoid code duplication. My suggestion is this particular case is to keep TBF establishment aside, and only check if the received Immediate Assignment (first 'in' parameter) is an Uplink TBF assignment (implemented starting from line "Make sure we received an UL TBF Assignment"). This way we avoid duplication of the arguments of f_establish_tbf(). https://gerrit.osmocom.org/#/c/15675/1/pcu/PCU_Tests_RAW.ttcn at 578 PS1, Line 578: ? This can then be parametrized too, so there would be no need to check if it's a dynamic allocation or not (see below). If some test case would need a Single Block Assignment, it will just pass the corresponding template as a parameter. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 19:35: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 Fri Oct 4 19:55:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 19:55:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 ) Change subject: pcu: Introduce test TC_t3169 ...................................................................... Patch Set 2: (8 comments) https://gerrit.osmocom.org/#/c/15676/2/library/RLCMAC_Types.ttcn File library/RLCMAC_Types.ttcn: https://gerrit.osmocom.org/#/c/15676/2/library/RLCMAC_Types.ttcn at 309 PS2, Line 309: tr_RLCMAC_DUMMY_CTRL Cool! Very useful template. https://gerrit.osmocom.org/#/c/15676/2/library/RLCMAC_Types.ttcn at 315 PS2, Line 315: usf := ? I know you may not need this in you test case scenarios, but please parametrize this field. It will definitely be needed soon. https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn at 617 PS2, Line 617: pcuif_ BTW: regarding this prefix, we're not dealing with the PCU interface directly anymore. Let's avoid it? Not a merge blocker though. https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn at 628 PS2, Line 628: /* 16 UL blocks (0 .. 32 dB, step = 2 dB) */ Copy-pasted, please dd. https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn at 631 PS2, Line 631: countdown := (num_blocks - i) Keep in mind, this is a countdown. If you're sending only one block, it shall be set to 0 (no more blocks pending). With this code, OsmoPCU will always expect one more UL block. https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn at 658 PS2, Line 658: f_rx_pcuif_rlcmac_dl_block_exp_dummy Same comment as for 15675, do we really need to create functions for such basic things? IMHO, this decreases readability: one would have to jump between different helper definitions while reading the code. https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn at 1003 PS2, Line 1003: 1 You may need to change this to 2 as soon as you fix the countdown calculation in f_tx_pcuif_rlcmac_ul_n_blocks(). https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn at 1010 PS2, Line 1010: f_tx_pcuif_rlcmac_ul_n_blocks ... and this call can also be removed then. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 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: Fri, 04 Oct 2019 19:55: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 Oct 4 20:07:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 20:07:16 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix comment in description of PDTCH In-Reply-To: References: Message-ID: fixeria 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+2 -- 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: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 20: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 Oct 4 20:18:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 20:18:31 +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: Code-Review+2 -- 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: Fri, 04 Oct 2019 20:18: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 Oct 4 20:18:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 20:18:40 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix comment in description of PDTCH In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved 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-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 Fri Oct 4 20:18:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 20:18:40 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix handling of PTCCH logical channel In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved 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-Reviewer: Jenkins Builder 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 Fri Oct 4 20:23:38 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 4 Oct 2019 20:23:38 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_inst_watch() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15660 ) Change subject: add osmo_fsm_inst_watch() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15660/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15660/2//COMMIT_MSG at 42 PS2, Line 42: after a deallocation, another FSM may have been allocated, : possibly at the exact same memory address. You can introduce a simple counter and assign a unique number to each allocated FSM instance. Then you can just check whether bar is in the list of osmo_fsm_inst instances, *and* match using that unique number. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d8306488506c60b4c2fc1c4cb3ac04654db9c43 Gerrit-Change-Number: 15660 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 04 Oct 2019 20:23:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Oct 5 01:49:45 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 05 Oct 2019 01:49:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d97f6d0e8b37_57852addd281e5f443744b@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: [ 535s] ar: `u' modifier ignored since `D' is the default (see `U') [ 535s] libtool: link: ranlib .libs/libtransceiver_common.a [ 535s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 535s] /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] lamb08 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sat Oct 5 01:49:33 UTC 2019. [ 535s] [ 536s] ### VM INTERACTION START ### [ 539s] [ 516.319334] sysrq: SysRq : Power Off [ 539s] [ 516.346368] reboot: Power down [ 539s] ### VM INTERACTION END ### [ 539s] [ 539s] lamb08 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sat Oct 5 01:49:37 UTC 2019. [ 539s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Oct 5 01:51:45 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 05 Oct 2019 01:51:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d97f74bba536_57852addd281e5f44377be@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: [ 582s] ar: `u' modifier ignored since `D' is the default (see `U') [ 582s] libtool: link: ranlib .libs/libtransceiver_common.a [ 582s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 582s] /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 [ 582s] 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 [ 583s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 583s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 583s] collect2: error: ld returned 1 exit status [ 583s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 583s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 583s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 583s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 583s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 583s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 583s] make[1]: *** [Makefile:444: all] Error 2 [ 583s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 583s] dh_auto_build: make -j1 returned exit code 2 [ 583s] make: *** [debian/rules:6: build] Error 255 [ 583s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 583s] [ 583s] lamb11 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sat Oct 5 01:51:40 UTC 2019. [ 583s] [ 583s] ### VM INTERACTION START ### [ 586s] [ 564.864324] sysrq: SysRq : Power Off [ 586s] [ 564.871336] reboot: Power down [ 586s] ### VM INTERACTION END ### [ 586s] [ 586s] lamb11 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sat Oct 5 01:51:44 UTC 2019. [ 586s] -- 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 Oct 5 03:19:18 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 5 Oct 2019 03:19:18 +0000 Subject: Change in ...libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 1: > why not LOGP()? I guess I wanted it to be set apart from the other logging, but you have a point... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 05 Oct 2019 03:19:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Oct 5 03:45:45 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 05 Oct 2019 03:45:45 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9812037a989_57852addd281e5f4449760@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: [ 516s] ar: `u' modifier ignored since `D' is the default (see `U') [ 516s] libtool: link: ranlib .libs/libtransceiver_common.a [ 516s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 516s] /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 [ 516s] 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 [ 516s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 516s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 516s] collect2: error: ld returned 1 exit status [ 516s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 516s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 516s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 516s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 516s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 516s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 516s] make[1]: *** [Makefile:444: all] Error 2 [ 516s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 516s] dh_auto_build: make -j1 returned exit code 2 [ 516s] make: *** [debian/rules:6: build] Error 255 [ 516s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 516s] [ 516s] cloud124 failed "build osmo-trx_1.1.1.dsc" at Sat Oct 5 03:45:36 UTC 2019. [ 516s] [ 516s] ### VM INTERACTION START ### [ 519s] [ 473.259534] sysrq: SysRq : Power Off [ 519s] [ 473.264454] reboot: Power down [ 521s] ### VM INTERACTION END ### [ 521s] [ 521s] cloud124 failed "build osmo-trx_1.1.1.dsc" at Sat Oct 5 03:45:42 UTC 2019. [ 521s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Oct 5 03:48:19 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 05 Oct 2019 03:48:19 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d981296de0a8_57852addd281e5f4450459@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: [ 702s] ar: `u' modifier ignored since `D' is the default (see `U') [ 702s] libtool: link: ranlib .libs/libtransceiver_common.a [ 702s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 702s] /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 [ 702s] 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 [ 703s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 703s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 703s] collect2: error: ld returned 1 exit status [ 703s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 703s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 703s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 703s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 703s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 703s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 703s] make[1]: *** [Makefile:444: all] Error 2 [ 703s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 703s] dh_auto_build: make -j1 returned exit code 2 [ 703s] make: *** [debian/rules:6: build] Error 255 [ 703s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 703s] [ 703s] lamb51 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sat Oct 5 03:47:58 UTC 2019. [ 703s] [ 703s] ### VM INTERACTION START ### [ 706s] [ 684.331922] sysrq: SysRq : Power Off [ 706s] [ 684.346796] reboot: Power down [ 706s] ### VM INTERACTION END ### [ 706s] [ 706s] lamb51 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sat Oct 5 03:48:02 UTC 2019. [ 706s] -- 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 Oct 5 10:58:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 10:58:28 +0000 Subject: Change in ...osmocom-bb[master]: host/trxcon: add optional GSMTAP frame logging support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15568 ) Change subject: host/trxcon: add optional GSMTAP frame logging support ...................................................................... Patch Set 2: This change is ready for review. -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Oct 2019 10:58: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 Sat Oct 5 10:58:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 10:58:40 +0000 Subject: Change in ...osmocom-bb[master]: host/trxcon: add optional GSMTAP frame logging support In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( 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 This feature may be useful for our TTCN-3 testing infrastructure. By default it's disabled, and can be enabled using command line arguments of the main binary: ./trxcon -g 127.0.0.1 ... 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, 150 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved 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 67f770c..fde4d4e 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, @@ -453,8 +508,10 @@ [TRXC_SACCH8_4] = { .name = "SACCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 4)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .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 +522,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 +536,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 +550,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 +564,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-1..4 and MCS-1..9 (3GPP TS @@ -515,6 +579,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, .link_id = TRX_CH_LID_PTCCH, @@ -531,7 +596,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, @@ -541,7 +608,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 0d42499..ab3883e 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -114,6 +114,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; @@ -351,6 +355,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: 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 Sat Oct 5 11:16:35 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:16:35 +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 4: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15613/4/include/osmo-bts/gsm_data_shared.h File include/osmo-bts/gsm_data_shared.h: https://gerrit.osmocom.org/#/c/15613/4/include/osmo-bts/gsm_data_shared.h at 778 PS4, Line 778: model_priv Ok, I just realized a meaningful advantage of your approach over having a union with model-specific structures: those structures may contain really specific data, e.g. structures or other types from their header files (SDKs). We don't want to pollute this header file with such stuff. https://gerrit.osmocom.org/#/c/15613/4/src/osmo-bts-virtual/l1_if.h File src/osmo-bts-virtual/l1_if.h: https://gerrit.osmocom.org/#/c/15613/4/src/osmo-bts-virtual/l1_if.h at 9 PS4, Line 9: bts_virt_priv LOL, I was pretty sure osmo-bts-trx is also using this structure. -- 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: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 11:16: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 Sat Oct 5 11:19:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:19:28 +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: fixeria has posted comments on this change. ( 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 ...................................................................... Patch Set 4: Code-Review+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: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 11: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 Sat Oct 5 11:30:27 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:30:27 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Print phy link state in cmd 'show transceiver' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15627 ) Change subject: bts-trx: vty: Print phy link state in cmd 'show transceiver' ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/15627/1/src/common/phy_link.c File src/common/phy_link.c: https://gerrit.osmocom.org/#/c/15627/1/src/common/phy_link.c at 84 PS1, Line 84: phy_link_state_get What is the point? Just a function to get field's value, that can be accessed directly? I am definitely against this 'helper'. https://gerrit.osmocom.org/#/c/15627/1/src/osmo-bts-trx/trx_vty.c File src/osmo-bts-trx/trx_vty.c: https://gerrit.osmocom.org/#/c/15627/1/src/osmo-bts-trx/trx_vty.c at 78 PS1, Line 78: phy_link_state_get(plink) You can access the field directly: plink->state. It's even shorter. -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 05 Oct 2019 11:30: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 Sat Oct 5 11:31:46 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:31:46 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_set_bts(): Avoid double loop by checking current trx In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15628 ) Change subject: bts-trx: trx_set_bts(): Avoid double loop by checking current trx ...................................................................... Patch Set 1: Code-Review+1 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Oct 2019 11:31: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 Oct 5 11:38:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:38:47 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15629 ) Change subject: bts-trx: Rework code handling poweron state ...................................................................... Patch Set 1: Code-Review+1 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Oct 2019 11:38: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 Oct 5 11:40:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:40:01 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15630 ) Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c ...................................................................... Patch Set 1: Code-Review+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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Oct 2019 11:40: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 Sat Oct 5 11:47:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:47:05 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Get rid of messy transceiver_available state handler In-Reply-To: References: Message-ID: fixeria 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: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c File src/osmo-bts-trx/l1_if.c: https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c at 214 PS5, Line 214: PHY_LINK_SHUTDOWN In which state it needs to be? PHY_LINK_CONNECTING or PHY_LINK_CONNECTED? -- 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: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 11:47:05 +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 Oct 5 11:47:34 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 11:47:34 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Drop unused func check_transceiver_availability() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15631 ) Change subject: bts-trx: Drop unused func check_transceiver_availability() ...................................................................... Patch Set 1: Code-Review+1 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 05 Oct 2019 11:47: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 Sat Oct 5 18:10:32 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 18:10:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 Change subject: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling ...................................................................... PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling Both TDMA_EV_PTCCH_DL_BLOCK and TDMA_EV_PTCCH_UL_BURST events may happen together during the same TDMA frame (fn % 104 == 90). We shall not skip TDMA_EV_PTCCH_UL_BURST. Let's fix this. Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0 --- M pcu/PCUIF_RAW_Components.ttcn 1 file changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/15678/1 diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn index 7feeca2..465e398 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_RAW_Components.ttcn @@ -148,11 +148,12 @@ } 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 */ + /* 4/4 bursts of a PTCCH (Timing Advance Control) block on Downlink */ + if (fn104 == 90) { + CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_DL_BLOCK, fn)); + } + /* One Access Burst on PTCCH/U (goes 3 time-slots after PTCCH/D) */ CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_UL_BURST, fn)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0 Gerrit-Change-Number: 15678 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 Oct 5 18:10:32 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 5 Oct 2019 18:10:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 Change subject: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() ...................................................................... PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() As it turns out, it was a bad idea to use a counter in altstep as_ta_ptcch(), because its value is getting lost. Let's instead introduce a new type PTCCH_TAI_ToA_MAP, which is basically a list of ToA values for each PTCCH/U sub-slot (TA Index), and pass it to the altstep. Change-Id: I74252dfb929fcb32d07e8728d692674931fae727 --- M pcu/PCUIF_RAW_Components.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 65 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/15679/1 diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn index 465e398..ab8b3b7 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_RAW_Components.ttcn @@ -133,6 +133,37 @@ var integer fn := 0; } +/* Derive PTCCH/U sub-slot from a given TDMA frame-number */ +function f_tdma_ptcch_fn2ss(integer fn) return integer +{ + var integer ss := -1; + + /* See 3GPP TS 45.002, table 6 */ + select (fn mod 416) { + case (12) { ss := 0; } + case (38) { ss := 1; } + case (64) { ss := 2; } + case (90) { ss := 3; } + + case (116) { ss := 4; } + case (142) { ss := 5; } + case (168) { ss := 6; } + case (194) { ss := 7; } + + case (220) { ss := 8; } + case (246) { ss := 9; } + case (272) { ss := 10; } + case (298) { ss := 11; } + + case (324) { ss := 12; } + case (350) { ss := 13; } + case (376) { ss := 14; } + case (402) { ss := 15; } + } + + return ss; +} + function f_ClckGen_CT_handler() runs on RAW_PCU_ClckGen_CT { var integer fn104, fn52, fn13; diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index b5aec76..7b38225 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -672,16 +672,33 @@ * indications to the PCU, checking the correctness of two received PTCCH/D * messages (period of PTCCH/D is two multi-frames). */ -private altstep as_ta_ptcch(uint8_t bts_nr := 0, integer toa_factor := 0) + +/* List of ToA values for Access Bursts to be sent on PTCCH/U, + * each ToA (Timing of Arrival) value is in units of 1/4 of + * a symbol (i.e. 1 symbol is 4 QTA units). */ +type record length(16) of int16_t PTCCH_TAI_ToA_MAP; +const PTCCH_TAI_ToA_MAP ptcch_toa_map_def := { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0 +}; + +private altstep as_ta_ptcch(uint8_t bts_nr := 0, /* TODO: TRX / TS number */ + in PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def) runs on RAW_PCU_Test_CT { - var integer counter := 0; var RAW_PCU_Event event; + var integer ss; /* Send Access Bursts on PTCCH/U for every TA Index */ [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); + if (ss < 0) { mtc.stop; } /* Shall not happen */ + log("Sending an Access Burst on PTCCH/U", + ", sub-slot=", ss, " (TAI)", ", fn=", event.data.tdma_fn, - ", ToA=", counter * toa_factor); + ", ToA=", toa_map[ss], " (QTA)"); /* TODO: do we care about RA and burst format? */ BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, ra := oct2int('3A'O), @@ -689,14 +706,14 @@ burst_type := BURST_TYPE_0, fn := event.data.tdma_fn, arfcn := 871, - qta := counter * toa_factor * 4, + qta := toa_map[ss], sapi := PCU_IF_SAPI_PTCCH)); - counter := counter + 1; repeat; } } -private function f_TC_ta_ptcch_ul_multi_tbf(template PTCCHDownlinkMsg t_ta_msg) +private function f_TC_ta_ptcch_ul_multi_tbf(in PTCCH_TAI_ToA_MAP ptcch_toa_map, + template PTCCHDownlinkMsg t_ta_msg) runs on RAW_PCU_Test_CT { var PTCCHDownlinkMsg ta_msg; var PCUIF_Message pcu_msg; @@ -710,7 +727,7 @@ alt { /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ - [] as_ta_ptcch(bts_nr := 0, toa_factor := 7); + [] as_ta_ptcch(bts_nr := 0, toa_map := ptcch_toa_map); /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { @@ -775,6 +792,13 @@ } } + /* Prepare a list of ToA values for Access Bursts to be sent on PTCCH/U */ + var PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def; + for (var integer i := 0; i < 7; i := i + 1) { + /* ToA in units of 1/4 of a symbol */ + toa_map[i] := (i + 1) * 7 * 4; + } + /* Now we have all 7 TBFs established in one-phase access mode, * however we will not be sending any data on them. Instead, we * will be sending RACH.ind on PTCCH/U during 4 multi-frame @@ -783,15 +807,14 @@ * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA * time-slots, so at the moment of scheduling a PTCCH/D block * the PCU has odd number of PTCCH/U Access Bursts received. */ - f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, /* Other values are not known (yet) */ tai3_ta := ?)); - f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( - /* Other values are out of our interest */ + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, - /* Other values are not known (yet) */ + /* Other values are out of our interest */ tai6_ta := ?)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I74252dfb929fcb32d07e8728d692674931fae727 Gerrit-Change-Number: 15679 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 Oct 5 20:46:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:46:58 +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: (1 comment) https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c File src/osmo-bts-trx/l1_if.c: https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c at 214 PS5, Line 214: PHY_LINK_SHUTDOWN > In which state it needs to be? PHY_LINK_CONNECTING or PHY_LINK_CONNECTED? !PHY_LINK_SHUTDOWN, either of CONNECTING or CONNECTED. during CONNECTING commands are sent to configure the TRX and move it to CONNECTED state, and during CONNECTED state still some configs can be changed (after POWERON), and POWEROFF is sent. -- 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: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:46:58 +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 Oct 5 20:47:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:47:23 +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 4: +1+1=+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: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:47: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 Sat Oct 5 20:47:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:47:59 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15629 ) Change subject: bts-trx: Rework code handling poweron state ...................................................................... Patch Set 1: +1+1=+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:47: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 Sat Oct 5 20:48:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:48:10 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15630 ) Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c ...................................................................... Patch Set 1: +1+1=+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:48: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 Sat Oct 5 20:48:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:48:17 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15630 ) Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20: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 Sat Oct 5 20:48:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:48:28 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15629 ) Change subject: bts-trx: Rework code handling poweron state ...................................................................... Patch Set 1: Code-Review+2 -- 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-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:48: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 Oct 5 20:48:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:48:39 +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: Code-Review+2 +1+1=+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: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:48: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 Oct 5 20:50:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50: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: 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 4: Code-Review+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: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20: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 Sat Oct 5 20:50:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:13 +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 submitted this change and it was merged. ( 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 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(-) 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/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..e4b8feb 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..abecba1 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(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..83c37f3 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: 5 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 Oct 5 20:50:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:14 +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 submitted this change and it was merged. ( 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 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(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified 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 421cf16..ac34a11 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1581,48 +1581,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) */ @@ -1666,7 +1624,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; @@ -1749,7 +1708,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: 5 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 Oct 5 20:50:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:14 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Print phy link state in cmd 'show transceiver' In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified 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: 2 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 Sat Oct 5 20:50:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:15 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_set_bts(): Avoid double loop by checking current trx In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) 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-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: 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 Oct 5 20:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:16 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) 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/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: 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 Oct 5 20:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:16 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) 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-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index ac34a11..b3b656a 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1678,10 +1678,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: 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 Oct 5 20:50:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:17 +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 submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15615 ) Change subject: bts-trx: Get rid of messy transceiver_available state handler ...................................................................... bts-trx: Get rid of messy transceiver_available state handler This variable meaning has been changing its exact meaning over time until finally not being really clear which kind of state it holds. Initially it seemed to be used to identfy whether CLOCK IND were being received. However, over time both osmo-bts and osmo-trx have evolved and were fixed so that clock indications are only sent by osmo-trx after POWERON command is sent. As a result, this state can be checked simply by looking at the "powered" phy_link variable, which is only set to true once the TRX has confirmed the POWERON command, and hence it is sending CLOCK IND. On the other hand, at some point in time "available" started to be set to 1 in bts_model_phy_link_open(), which means available is nowadays almost always 1 from startup until the end (only dropped during bts_shutdown(), when we are already exiting the process anyway). As a result, !available condition in scheduler_trx.c:trx_fn_timer_cb can almost never happen, because available is set to true already. Only possibility would be if an old process of osmo-trx (not set up by this BTS process) is still sending CLOCK INDs, but in that case we for sure don't want to configure the BTS based on that, but ignore them until this BTS process has again configured the TRX. So that whole check can be dropped. We are better checking for "powered" state, which is far more accurate, and we better do that in trx_if.c before calling trx_fn_timer_cb(). Other uses of "transceiver_available" being used can be changed to use plink->state!= PHY_LINK_SHUTDOWN, since available was already being set to 1 at the same time the plink->state was being set to PHY_LINK_CONNECTING. As a result of this state handling re-arrangement, OS#4215 is fixed since trx_if_powered() is used instead of previous state condition to check whether data frames should be sent. Related: OS#4215 Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 --- M src/osmo-bts-trx/l1_if.c 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 5 files changed, 21 insertions(+), 40 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-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index f564dc5..221d88b 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -204,8 +204,18 @@ 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; + } + + if (phy_link_state_get(plink) == PHY_LINK_SHUTDOWN) { + LOGPPHI(pinst, DL1C, LOGL_INFO, + "Delaying provision, TRX not yet available\n"); + return -EIO; + } if (l1h->config.enabled && l1h->config.tsc_valid @@ -390,6 +400,7 @@ llist_for_each_entry(trx, &bts->trx_list, list) { struct phy_instance *pinst = trx_phy_instance(trx); + struct phy_link *plink = pinst->phy_link; struct trx_l1h *l1h = pinst->u.osmotrx.hdl; if (l1h->config.bsic != bsic || !l1h->config.bsic_valid) { l1h->config.bsic = bsic; @@ -397,7 +408,7 @@ l1h->config.bsic_sent = 0; l1if_provision_transceiver_trx(l1h); } - check_transceiver_availability_trx(l1h, transceiver_available); + check_transceiver_availability_trx(l1h, phy_link_state_get(plink) != PHY_LINK_SHUTDOWN); } return 0; diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index b3b656a..af639e2 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1721,21 +1721,6 @@ clock_gettime(CLOCK_MONOTONIC, &tv_now); - /* clock becomes valid */ - if (!transceiver_available) { - LOGP(DL1C, LOGL_NOTICE, "initial GSM clock received: fn=%u\n", fn); - - transceiver_available = 1; - - /* start provisioning transceiver */ - l1if_provision_transceiver(bts); - - /* tell BSC */ - check_transceiver_availability(bts, 1); - - return trx_setup_clock(bts, tcs, &tv_now, &interval, fn); - } - /* calculate elapsed time +fn since last timer */ elapsed_us = compute_elapsed_us(&tcs->last_fn_timer.tv, &tv_now); elapsed_fn = compute_elapsed_fn(tcs->last_fn_timer.fn, fn); diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index a260919..9933109 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 */ @@ -125,6 +123,10 @@ "wrapping correctly, correcting to fn=%u\n", fn); } + if (!plink->u.osmotrx.powered) { + LOGPPHI(pinst, DTRX, LOGL_NOTICE, "Ignoring CLOCK IND %u, TRX not yet powered on\n", fn); + return 0; + } /* inform core TRX clock handling code that a FN has been received */ trx_sched_clock(pinst->trx->bts, fn); @@ -201,13 +203,6 @@ va_list ap; int pending; - if (!transceiver_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); - return -EIO; - } - pending = !llist_empty(&l1h->trx_ctrl_list); /* create message */ @@ -1097,12 +1092,11 @@ /* copy ubits {0,1} */ memcpy(buf + 6, bits, nbits); - /* we must be sure that we have clock, and we have sent all control - * data */ - if (transceiver_available && llist_empty(&l1h->trx_ctrl_list)) { + /* we must be sure that TRX is on */ + if (trx_if_powered(l1h)) { send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); } else - LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Ignoring TX data, transceiver powered off.\n"); return 0; } @@ -1255,8 +1249,7 @@ if (trx_phy_inst_open(pinst) < 0) goto cleanup; } - /* FIXME: is there better way to check/report TRX availability? */ - transceiver_available = 1; + return 0; cleanup: diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index 3325c62..fd0077d 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 993c780..86f5712 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -58,12 +58,6 @@ struct gsm_bts_trx *trx; struct trx_l1h *l1h; - if (!transceiver_available) { - vty_out(vty, "transceiver is not connected%s", VTY_NEWLINE); - } else { - vty_out(vty, "transceiver is connected%s", VTY_NEWLINE); - } - llist_for_each_entry(trx, &bts->trx_list, list) { struct phy_instance *pinst = trx_phy_instance(trx); struct phy_link *plink = pinst->phy_link; -- 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: 6 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 Oct 5 20:50:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:50:17 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Drop unused func check_transceiver_availability() In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) 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-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: 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 Oct 5 20:54:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:54:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 ) Change subject: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0 Gerrit-Change-Number: 15678 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:54: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 Sat Oct 5 20:59:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 5 Oct 2019 20:59:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 ) Change subject: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I74252dfb929fcb32d07e8728d692674931fae727 Gerrit-Change-Number: 15679 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 05 Oct 2019 20:59:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Oct 6 01:51:49 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 01:51:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9948bb54b7_57852addd281e5f4690359@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: [ 721s] ar: `u' modifier ignored since `D' is the default (see `U') [ 721s] libtool: link: ranlib .libs/libtransceiver_common.a [ 721s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 722s] /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 [ 722s] 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 [ 722s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 722s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 722s] collect2: error: ld returned 1 exit status [ 722s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 722s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 722s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 722s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 722s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 722s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 722s] make[1]: *** [Makefile:444: all] Error 2 [ 722s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 722s] dh_auto_build: make -j1 returned exit code 2 [ 722s] make: *** [debian/rules:6: build] Error 255 [ 722s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 722s] [ 722s] lamb26 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 01:51:44 UTC 2019. [ 722s] [ 722s] ### VM INTERACTION START ### [ 725s] [ 676.912557] sysrq: SysRq : Power Off [ 725s] [ 676.918046] reboot: Power down [ 725s] ### VM INTERACTION END ### [ 725s] [ 725s] lamb26 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 01:51:48 UTC 2019. [ 725s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 03:47:49 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 03:47:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9963ef15a3e_57852addd281e5f4701379@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: [ 466s] 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] build34 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 03:47:35 UTC 2019. [ 467s] [ 467s] ### VM INTERACTION START ### [ 470s] [ 450.770053] sysrq: SysRq : Power Off [ 470s] [ 450.841517] reboot: Power down [ 471s] ### VM INTERACTION END ### [ 471s] [ 471s] build34 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 03:47:39 UTC 2019. [ 471s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 03:49:32 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 03:49:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9964667c061_57852addd281e5f470152f@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: [ 430s] ar: `u' modifier ignored since `D' is the default (see `U') [ 430s] libtool: link: ranlib .libs/libtransceiver_common.a [ 430s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 430s] /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 [ 430s] 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 [ 430s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 430s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 430s] collect2: error: ld returned 1 exit status [ 430s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 430s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 430s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 430s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 430s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 430s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 430s] make[1]: *** [Makefile:444: all] Error 2 [ 430s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 430s] dh_auto_build: make -j1 returned exit code 2 [ 430s] make: *** [debian/rules:6: build] Error 255 [ 430s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 430s] [ 430s] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 03:49:19 UTC 2019. [ 430s] [ 430s] ### VM INTERACTION START ### [ 433s] [ 415.238189] sysrq: SysRq : Power Off [ 433s] [ 415.245241] reboot: Power down [ 433s] ### VM INTERACTION END ### [ 433s] [ 433s] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 03:49:22 UTC 2019. [ 433s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 03:52:41 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 03:52:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d996517ba2fa_57852addd281e5f4701683@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: [ 461s] ar: `u' modifier ignored since `D' is the default (see `U') [ 461s] libtool: link: ranlib .libs/libtransceiver_common.a [ 461s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 461s] /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 [ 461s] 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 [ 461s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 461s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 461s] collect2: error: ld returned 1 exit status [ 461s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 461s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 461s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 461s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 461s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 461s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 461s] make[1]: *** [Makefile:444: all] Error 2 [ 461s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 461s] dh_auto_build: make -j1 returned exit code 2 [ 461s] make: *** [debian/rules:6: build] Error 255 [ 461s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 461s] [ 461s] lamb02 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 03:52:31 UTC 2019. [ 461s] [ 461s] ### VM INTERACTION START ### [ 465s] [ 446.307295] sysrq: SysRq : Power Off [ 465s] [ 446.335642] reboot: Power down [ 465s] ### VM INTERACTION END ### [ 465s] [ 465s] lamb02 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 03:52:35 UTC 2019. [ 465s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 03:55:49 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 03:55:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9965cfea2f7_57852addd281e5f4701955@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: [ 434s] ar: `u' modifier ignored since `D' is the default (see `U') [ 434s] libtool: link: ranlib .libs/libtransceiver_common.a [ 434s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 434s] /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 [ 434s] 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 [ 435s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 435s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 435s] collect2: error: ld returned 1 exit status [ 435s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 435s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 435s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 435s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 435s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 435s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 435s] make[1]: *** [Makefile:444: all] Error 2 [ 435s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 435s] dh_auto_build: make -j1 returned exit code 2 [ 435s] make: *** [debian/rules:6: build] Error 255 [ 435s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 435s] [ 435s] lamb64 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 03:55:36 UTC 2019. [ 435s] [ 435s] ### VM INTERACTION START ### [ 438s] [ 420.192344] sysrq: SysRq : Power Off [ 438s] [ 420.200438] reboot: Power down [ 438s] ### VM INTERACTION END ### [ 438s] [ 438s] lamb64 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 03:55:40 UTC 2019. [ 438s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 09:46:37 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 09:46:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d99b81725bbe_57852addd281e5f473299d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 332s] asciidoc: rf.adoc: line 393: filtering: "/usr/bin/python3" "/etc/asciidoc/filters/graphviz/graphviz2png.py" -v -o "/usr/src/packages/BUILD/tests/test-usermanual__52.png" -L dot -F png - [ 332s] asciidoc: rf.adoc: line 642: evaluating: {counter2:target-number} [ 332s] asciidoc: rf.adoc: line 642: evaluating: {set2:target:test-usermanual__53.png} [ 332s] asciidoc: rf.adoc: line 648: filtering: "/usr/bin/python3" "/etc/asciidoc/filters/graphviz/graphviz2png.py" -v -o "/usr/src/packages/BUILD/tests/test-usermanual__53.png" -L dot -F png - [ 332s] asciidoc: rf.adoc: line 673: evaluating: {counter2:target-number} [ 332s] asciidoc: rf.adoc: line 673: evaluating: {set2:target:test-usermanual__54.png} [ 332s] asciidoc: rf.adoc: line 679: filtering: "/usr/bin/python3" "/etc/asciidoc/filters/graphviz/graphviz2png.py" -v -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -L dot -F png - [ 332s] a2x: ERROR: "/usr/bin/asciidoc" --backend docbook -a "a2x-format=pdf" -f ../build/mscgen-filter.conf -f ../build/diag-filter.conf -f ../build/docinfo-releaseinfo.conf -f ../build/python2-filter.conf -a srcdir='.' -a commondir='../common' --attribute "docinfo" --attribute "revnumber=DRAFT " --attribute "revdate=unknown" --verbose --out-file "/usr/src/packages/BUILD/tests/test-usermanual.xml" "/usr/src/packages/BUILD/tests/test-usermanual.adoc" returned non-zero exit status 1 [ 332s] [ 332s] [ 332s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 332s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 332s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 332s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 332s] make[1]: *** [Makefile:362: 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:5: binary] Error 255 [ 332s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 332s] [ 332s] lamb05 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Sun Oct 6 09:46:20 UTC 2019. [ 332s] [ 332s] ### VM INTERACTION START ### [ 335s] [ 319.638174] sysrq: SysRq : Power Off [ 335s] [ 319.645390] reboot: Power down [ 335s] ### VM INTERACTION END ### [ 335s] [ 335s] lamb05 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Sun Oct 6 09:46:23 UTC 2019. [ 335s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 09:54:54 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 09:54:54 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d99b9f78ea5d_57852addd281e5f4733844@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: [ 443s] ar: `u' modifier ignored since `D' is the default (see `U') [ 443s] libtool: link: ranlib .libs/libtransceiver_common.a [ 443s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 443s] /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 [ 443s] 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 [ 443s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 443s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 443s] collect2: error: ld returned 1 exit status [ 443s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 443s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 443s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 443s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 443s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 443s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 443s] make[1]: *** [Makefile:444: all] Error 2 [ 443s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 443s] dh_auto_build: make -j1 returned exit code 2 [ 443s] make: *** [debian/rules:6: build] Error 255 [ 443s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 443s] [ 443s] lamb61 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 09:54:41 UTC 2019. [ 443s] [ 443s] ### VM INTERACTION START ### [ 446s] [ 427.525894] sysrq: SysRq : Power Off [ 446s] [ 427.532727] reboot: Power down [ 446s] ### VM INTERACTION END ### [ 446s] [ 446s] lamb61 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 09:54:45 UTC 2019. [ 446s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 09:56:20 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 09:56:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d99ba5431c24_57852addd281e5f47340f0@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: [ 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 [ 509s] 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 [ 509s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 509s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 509s] collect2: error: ld returned 1 exit status [ 509s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 509s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 509s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 509s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 509s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 509s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 509s] make[1]: *** [Makefile:444: all] Error 2 [ 509s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 509s] 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] morla3 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 09:56:02 UTC 2019. [ 509s] [ 509s] ### VM INTERACTION START ### [ 512s] [ 489.745720] sysrq: SysRq : Power Off [ 513s] [ 489.759270] reboot: Power down [ 513s] ### VM INTERACTION END ### [ 513s] [ 513s] morla3 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 09:56:06 UTC 2019. [ 513s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 15:46:54 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 15:46:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9a0c78d3fd7_57852addd281e5f4788156@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: [ 408s] ar: `u' modifier ignored since `D' is the default (see `U') [ 408s] libtool: link: ranlib .libs/libtransceiver_common.a [ 408s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 408s] /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 [ 409s] 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 [ 409s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 409s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 409s] collect2: error: ld returned 1 exit status [ 409s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 409s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 409s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 409s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 409s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 409s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 409s] make[1]: *** [Makefile:444: all] Error 2 [ 409s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 409s] dh_auto_build: make -j1 returned exit code 2 [ 409s] make: *** [debian/rules:6: build] Error 255 [ 409s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 409s] [ 409s] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 15:46:42 UTC 2019. [ 409s] [ 409s] ### VM INTERACTION START ### [ 412s] [ 394.708388] sysrq: SysRq : Power Off [ 412s] [ 394.716633] reboot: Power down [ 412s] ### VM INTERACTION END ### [ 412s] [ 412s] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 15:46:45 UTC 2019. [ 412s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 15:47:11 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 15:47:11 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9a0c97b4872_57852addd281e5f478829e@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: [ 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] lamb01 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 15:47:04 UTC 2019. [ 417s] [ 417s] ### VM INTERACTION START ### [ 420s] [ 400.482656] sysrq: SysRq : Power Off [ 420s] [ 400.491215] reboot: Power down [ 420s] ### VM INTERACTION END ### [ 420s] [ 420s] lamb01 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 15:47:08 UTC 2019. [ 420s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 15:51:45 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 15:51:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9a0da7347fb_57852addd281e5f478864c@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: [ 256s] ar: `u' modifier ignored since `D' is the default (see `U') [ 256s] libtool: link: ranlib .libs/libtransceiver_common.a [ 256s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 256s] /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 [ 256s] 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 [ 256s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 256s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 256s] collect2: error: ld returned 1 exit status [ 256s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 256s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 256s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 256s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 256s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 256s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 256s] make[1]: *** [Makefile:444: all] Error 2 [ 256s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 256s] dh_auto_build: make -j1 returned exit code 2 [ 256s] make: *** [debian/rules:6: build] Error 255 [ 256s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 256s] [ 256s] build77 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 15:51:38 UTC 2019. [ 256s] [ 256s] ### VM INTERACTION START ### [ 259s] [ 247.224598] sysrq: SysRq : Power Off [ 259s] [ 247.228091] reboot: Power down [ 259s] ### VM INTERACTION END ### [ 259s] [ 259s] build77 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 15:51:41 UTC 2019. [ 259s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 15:57:28 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 15:57:28 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9a0eee32ca9_57852addd281e5f478916a@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: [ 442s] ar: `u' modifier ignored since `D' is the default (see `U') [ 442s] libtool: link: ranlib .libs/libtransceiver_common.a [ 442s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 442s] /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 [ 442s] 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 [ 442s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 442s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 442s] collect2: error: ld returned 1 exit status [ 442s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 442s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 442s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 442s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 442s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 442s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 442s] make[1]: *** [Makefile:444: all] Error 2 [ 442s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 442s] dh_auto_build: make -j1 returned exit code 2 [ 442s] make: *** [debian/rules:6: build] Error 255 [ 442s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 442s] [ 442s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 15:57:12 UTC 2019. [ 442s] [ 442s] ### VM INTERACTION START ### [ 445s] [ 427.464922] sysrq: SysRq : Power Off [ 445s] [ 427.472965] reboot: Power down [ 445s] ### VM INTERACTION END ### [ 445s] [ 445s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 15:57:15 UTC 2019. [ 445s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 22:05:47 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 22:05:47 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9a65428d97e_57852addd281e5f4837472@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: [ 451s] ar: `u' modifier ignored since `D' is the default (see `U') [ 451s] libtool: link: ranlib .libs/libtransceiver_common.a [ 452s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 452s] /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 [ 452s] 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 [ 452s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 452s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 452s] collect2: error: ld returned 1 exit status [ 452s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 452s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 452s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 452s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 452s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 452s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 452s] make[1]: *** [Makefile:444: all] Error 2 [ 452s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 452s] dh_auto_build: make -j1 returned exit code 2 [ 452s] make: *** [debian/rules:6: build] Error 255 [ 452s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 452s] [ 452s] lamb75 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 22:05:30 UTC 2019. [ 452s] [ 452s] ### VM INTERACTION START ### [ 455s] [ 437.509786] sysrq: SysRq : Power Off [ 455s] [ 437.516326] reboot: Power down [ 455s] ### VM INTERACTION END ### [ 455s] [ 455s] lamb75 failed "build osmo-trx_1.1.1.dsc" at Sun Oct 6 22:05:33 UTC 2019. [ 455s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 6 22:08:39 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 06 Oct 2019 22:08:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9a65f6d2d7b_57852addd281e5f48386d8@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: [ 539s] ar: `u' modifier ignored since `D' is the default (see `U') [ 539s] libtool: link: ranlib .libs/libtransceiver_common.a [ 539s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 539s] /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 [ 539s] 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 [ 540s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 540s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 540s] collect2: error: ld returned 1 exit status [ 540s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 540s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 540s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 540s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 540s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 540s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 540s] make[1]: *** [Makefile:444: all] Error 2 [ 540s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 540s] dh_auto_build: make -j1 returned exit code 2 [ 540s] make: *** [debian/rules:6: build] Error 255 [ 540s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 540s] [ 540s] cloud131 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 22:08:29 UTC 2019. [ 540s] [ 540s] ### VM INTERACTION START ### [ 543s] [ 494.129998] sysrq: SysRq : Power Off [ 543s] [ 494.136405] reboot: Power down [ 545s] ### VM INTERACTION END ### [ 545s] [ 545s] cloud131 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct 6 22:08:35 UTC 2019. [ 545s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Oct 7 01:43:13 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 07 Oct 2019 01:43:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9a983a3cd60_57852addd281e5f48480ed@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: [ 256s] ar: `u' modifier ignored since `D' is the default (see `U') [ 256s] libtool: link: ranlib .libs/libtransceiver_common.a [ 256s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 256s] /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 [ 256s] 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 [ 256s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 256s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 256s] collect2: error: ld returned 1 exit status [ 256s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 256s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 256s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 256s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 256s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 256s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 256s] make[1]: *** [Makefile:444: all] Error 2 [ 256s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 256s] dh_auto_build: make -j1 returned exit code 2 [ 256s] make: *** [debian/rules:6: build] Error 255 [ 256s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 256s] [ 256s] build77 failed "build osmo-trx_1.1.1.30.92814.dsc" at Mon Oct 7 01:42:53 UTC 2019. [ 256s] [ 256s] ### VM INTERACTION START ### [ 259s] [ 248.032778] sysrq: SysRq : Power Off [ 259s] [ 248.034556] reboot: Power down [ 260s] ### VM INTERACTION END ### [ 260s] [ 260s] build77 failed "build osmo-trx_1.1.1.30.92814.dsc" at Mon Oct 7 01:42:57 UTC 2019. [ 260s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Oct 7 01:46:39 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 07 Oct 2019 01:46:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9a990eed12d_57852addd281e5f484816c@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: [ 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 [ 476s] 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] morla3 failed "build osmo-trx_1.1.1.30.92814.dsc" at Mon Oct 7 01:46:29 UTC 2019. [ 476s] [ 476s] ### VM INTERACTION START ### [ 479s] [ 455.183255] sysrq: SysRq : Power Off [ 479s] [ 455.190785] reboot: Power down [ 479s] ### VM INTERACTION END ### [ 479s] [ 479s] morla3 failed "build osmo-trx_1.1.1.30.92814.dsc" at Mon Oct 7 01:46:32 UTC 2019. [ 479s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Oct 7 03:47:45 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 07 Oct 2019 03:47:45 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9ab57653e38_57852addd281e5f4852017@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: [ 406s] ar: `u' modifier ignored since `D' is the default (see `U') [ 406s] libtool: link: ranlib .libs/libtransceiver_common.a [ 406s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 406s] /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 [ 407s] 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 [ 407s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 407s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 407s] collect2: error: ld returned 1 exit status [ 407s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 407s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 407s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 407s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 407s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 407s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 407s] make[1]: *** [Makefile:444: all] Error 2 [ 407s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 407s] dh_auto_build: make -j1 returned exit code 2 [ 407s] make: *** [debian/rules:6: build] Error 255 [ 407s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 407s] [ 407s] lamb19 failed "build osmo-trx_1.1.1.dsc" at Mon Oct 7 03:47:40 UTC 2019. [ 407s] [ 407s] ### VM INTERACTION START ### [ 410s] [ 392.419362] sysrq: SysRq : Power Off [ 410s] [ 392.427732] reboot: Power down [ 410s] ### VM INTERACTION END ### [ 410s] [ 410s] lamb19 failed "build osmo-trx_1.1.1.dsc" at Mon Oct 7 03:47:43 UTC 2019. [ 410s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Oct 7 03:48:20 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 07 Oct 2019 03:48:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9ab5956847f_57852addd281e5f48521b@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: [ 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] lamb03 failed "build osmo-trx_1.1.1.30.92814.dsc" at Mon Oct 7 03:48:05 UTC 2019. [ 418s] [ 418s] ### VM INTERACTION START ### [ 421s] [ 403.128735] sysrq: SysRq : Power Off [ 421s] [ 403.135045] reboot: Power down [ 421s] ### VM INTERACTION END ### [ 421s] [ 421s] lamb03 failed "build osmo-trx_1.1.1.30.92814.dsc" at Mon Oct 7 03:48:08 UTC 2019. [ 421s] -- 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 Oct 7 08:18:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 08:18:43 +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 7: ping? last patch version was submitted around 10 days ago. -- 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: Mon, 07 Oct 2019 08:18: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 Mon Oct 7 08:32:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 08:32:33 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 ) Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn at 72 PS1, Line 72: f_default_pcuif_info_ind > You can do this without a function, just define a global constant instead: [?] I tried doing so now, but it cannot be done as easily as you though: PCU_Tests_RAW.ttcn:75.17-37: error: Reference to a static value was expected instead of template `@PCUIF_Types.ts_PCUIF_InfoTrxs_def' PCU_Tests_RAW.ttcn:105.17-50: error: Reference to a static value was expected instead of the return value of external function `@Native_Functions.f_inet_haddr' -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 08:32: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 Oct 7 09:09:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 09:09:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 ) Change subject: pcu: Introduce test TC_t3169 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15676/2/pcu/PCU_Tests_RAW.ttcn at 658 PS2, Line 658: f_rx_pcuif_rlcmac_dl_block_exp_dummy > Same comment as for 15675, do we really need to create functions for such basic things? IMHO, this d [?] I think it's handy once you start adding more and more tests and you end up having test files with 3K lines, at least we get rid of a few lines ;) When tests start to become more complex I think it really helps because you can abstract implementation details (like how you are matching exactly, error conditions, etc.). Furthermore if you want to do more checks, you simply extend one part of the code instead of having to apply same change all over. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 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, 07 Oct 2019 09:09:30 +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 Oct 7 09:33:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 7 Oct 2019 09:33:20 +0000 Subject: Change in ...osmo-bts[master]: gitignore: add oc2g generated files In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( 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(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified 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: 2 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 Mon Oct 7 09:34:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 09:34:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce some function helpers 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-ttcn3-hacks/+/15664 to look at the new patch set (#3). Change subject: pcu: Introduce some function helpers ...................................................................... pcu: Introduce some function helpers Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 49 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/15664/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 Gerrit-Change-Number: 15664 Gerrit-PatchSet: 3 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 Oct 7 09:34:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 09:34:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 to look at the new patch set (#2). Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... pcu: Allow tests to overwrite pcuif INFO_IND params Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 57 insertions(+), 97 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/15674/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Mon Oct 7 09:34:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 09:34:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_establish_tbf_ul() In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 to look at the new patch set (#2). Change subject: pcu: Introduce func helper f_establish_tbf_ul() ...................................................................... pcu: Introduce func helper f_establish_tbf_ul() Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 28 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/15675/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Mon Oct 7 09:34:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 09:34:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 to look at the new patch set (#3). Change subject: pcu: Introduce test TC_t3169 ...................................................................... pcu: Introduce test TC_t3169 Related: OS#3928 Change-Id: I587413a7de7956daee3423057530e4052a55ba88 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 93 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15676/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Mon Oct 7 09:34:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 09:34:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 to look at the new patch set (#3). Change subject: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() ...................................................................... pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 28 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/15675/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Mon Oct 7 09:34:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 09:34:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 to look at the new patch set (#4). Change subject: pcu: Introduce test TC_t3169 ...................................................................... pcu: Introduce test TC_t3169 Related: OS#3928 Change-Id: I587413a7de7956daee3423057530e4052a55ba88 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 93 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15676/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 4 Gerrit-Owner: pespin 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 Mon Oct 7 10:21:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 10:21:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce some function helpers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 ) Change subject: pcu: Introduce some function helpers ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 Gerrit-Change-Number: 15664 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 10:21: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 Mon Oct 7 10:25:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 10:25:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 ) Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15674/1/pcu/PCU_Tests_RAW.ttcn at 72 PS1, Line 72: f_default_pcuif_info_ind > I tried doing so now, but it cannot be done as easily as you though: [?] I think you can use "mp" (modulepar) values as well as other (compatible) templates when assigning values to template fields. However, what you cannot do is to use function return vaules. Just think of initializing a global static variable in C, where also all values must be known at compile time. I also don't like the "function" approach and would prefer a template, if possible in some way. My expectation is that if you don't intend to create a "const" value, a normal template (value) definition should just work. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 10:25:57 +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 Mon Oct 7 10:26:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 10:26:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 ) Change subject: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 10:26: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 Oct 7 10:27:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 10:27:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 ) Change subject: pcu: Introduce test TC_t3169 ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 10:27: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 Oct 7 11:31:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 11:31:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 to look at the new patch set (#3). Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... pcu: Allow tests to overwrite pcuif INFO_IND params Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 47 insertions(+), 99 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/15674/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Mon Oct 7 11:31:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 11:31:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 to look at the new patch set (#5). Change subject: pcu: Introduce test TC_t3169 ...................................................................... pcu: Introduce test TC_t3169 Related: OS#3928 Change-Id: I587413a7de7956daee3423057530e4052a55ba88 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 93 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15676/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 5 Gerrit-Owner: pespin 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 Mon Oct 7 11:39:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 7 Oct 2019 11:39:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce some function helpers In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 ) Change subject: pcu: Introduce some function helpers ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 Gerrit-Change-Number: 15664 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 11:39: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 Oct 7 12:26:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 12:26:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce some function helpers In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 ) Change subject: pcu: Introduce some function helpers ...................................................................... pcu: Introduce some function helpers Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 49 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index b5aec76..4d20027 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -552,6 +552,53 @@ return false; } +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0) +runs on RAW_PCU_Test_CT { + + 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_cb)); + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT)); +} + +/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ +private function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) +runs on RAW_PCU_Test_CT { + 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; +} + +private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0) +runs on RAW_PCU_Test_CT { + var octetstring data; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_pcuif_tx_data_ind(data, lqual_cb); +} + +private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + f_pcuif_rx_data_req(pcu_msg); + dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); +} + +private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + f_rx_rlcmac_dl_block(dl_block); + if (not match(dl_block, tr_RLCMAC_ACK_NACK(ul_tfi := ?, tlli := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); + mtc.stop; + } +} + 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; @@ -851,31 +898,15 @@ 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)); + f_tx_rlcmac_ul_block(ul_data, lqual * 10); /* 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; - } + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block); log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8608fac4375153d5020df5d05026513a7fe931d6 Gerrit-Change-Number: 15664 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 Oct 7 12:51:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Oct 2019 12:51:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 ) Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... Patch Set 3: Code-Review+1 Much better now. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 12:51: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 Oct 7 12:54:27 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Oct 2019 12:54:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 ) Change subject: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 12:54: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 Oct 7 13:01:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Oct 2019 13:01:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 ) Change subject: pcu: Introduce test TC_t3169 ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 13:01: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 Oct 7 13:07:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Oct 2019 13:07:58 +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 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: Mon, 07 Oct 2019 13:07: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 Oct 7 13:14:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 13:14:10 +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 7: Code-Review+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: 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: Mon, 07 Oct 2019 13:14: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 Mon Oct 7 13:14:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 13:14:15 +0000 Subject: Change in ...libosmocore[master]: tdef_test: verify case where osmo_tdef_set returns -EEXIST In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified 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: 7 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 Oct 7 13:14:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 13:14:14 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( 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 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(-) 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/TODO-RELEASE b/TODO-RELEASE index 665ecf7..547b5a9 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 core osmo_tdef_get() change val_if_not_present arg from unsigned long to long to allow passing -1 +core struct osmo_tdef fields min_val,max_val added, ABI break (arrays of structs used in programs) diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h index 8155688..54819d9 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,8 @@ 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); +int osmo_tdef_range_str_buf(char *buf, size_t buf_len, struct osmo_tdef *t); /*! 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..94d987f 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -136,14 +136,22 @@ /*! Set all osmo_tdef values to the default_val. * It is convenient to define a tdefs array by setting only the default_val, and calling osmo_tdefs_reset() once for - * program startup. (See also osmo_tdef_vty_init()) + * program startup. (See also osmo_tdef_vty_init()). + * During call to this function, default values are verified to be inside valid range; process is aborted otherwise. * \param[in] tdefs Array of timer definitions, last entry being fully zero. */ 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)) { + char range_str[64]; + osmo_tdef_range_str_buf(range_str, sizeof(range_str), t); + osmo_panic("%s:%d Timer " OSMO_T_FMT " contains default value %lu not in range %s\n", + __FILE__, __LINE__, OSMO_T_FMT_ARGS(t->T), t->default_val, range_str); + } t->val = t->default_val; + } } /*! Return the value of a T timer from a list of osmo_tdef, in the given unit. @@ -221,13 +229,55 @@ */ 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 -ERANGE; + + 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); +} + +/*! Write string representation of osmo_tdef range into buf. + * \param[in] buf The buffer where the string representation is stored. + * \param[in] buf_len Length of buffer in bytes. + * \param[in] tdef Timer entry from a timer definition table. + * \return The number of characters printed on success, negative on error. See snprintf(). + */ +int osmo_tdef_range_str_buf(char *buf, size_t buf_len, struct osmo_tdef *t) +{ + int ret, len = 0, offset = 0, rem = buf_len; + + buf[0] = '\0'; + ret = snprintf(buf + offset, rem, "[%lu .. ", t->min_val); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + + if (t->max_val) + ret = snprintf(buf + offset, rem, "%lu]", t->max_val); + else + ret = snprintf(buf + offset, rem, "inf]"); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + return ret; +} + /*! 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..4549a61 100644 --- a/src/vty/tdef_vty.c +++ b/src/vty/tdef_vty.c @@ -115,12 +115,22 @@ */ 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)) { + char range_str[64]; + osmo_tdef_range_str_buf(range_str, sizeof(range_str), t); + vty_out(vty, "%% Timer " OSMO_T_FMT " value %lu is out of range %s%s", + OSMO_T_FMT_ARGS(t->T), new_val, range_str, VTY_NEWLINE); + return CMD_WARNING; + } + t->val = new_val; return CMD_SUCCESS; } @@ -161,18 +171,29 @@ */ void osmo_tdef_vty_out_one_va(struct vty *vty, struct osmo_tdef *t, const char *prefix_fmt, va_list va) { + char range_str[64]; + if (!t) { vty_out(vty, "%% Error: no such timer%s", VTY_NEWLINE); return; } 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) { + osmo_tdef_range_str_buf(range_str, sizeof(range_str), t); + vty_out(vty, ", range: %s", range_str); + } + + 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..60066b1 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,7 +154,25 @@ 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 (ERANGE)\n"); + OSMO_ASSERT(!osmo_tdef_val_in_range(t, 10)); + OSMO_ASSERT(osmo_tdef_set(tdefs, 7, 10, OSMO_TDEF_S) == -ERANGE); + 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 (ERANGE)\n"); + OSMO_ASSERT(!osmo_tdef_val_in_range(t, 900)); + OSMO_ASSERT(osmo_tdef_set(tdefs, 7, 900, OSMO_TDEF_S) == -ERANGE); print_tdef_info(7); print_tdef_get_short(tdefs, 7, OSMO_TDEF_MS); print_tdef_get_short(tdefs, 7, OSMO_TDEF_S); diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index d9ef99b..2a3617e 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -105,6 +105,18 @@ osmo_tdef_get(7, s) = 420 osmo_tdef_get(7, m) = 7 osmo_tdef_get(7, custom-unit) = 420 +setting 7 = 10 (ERANGE) +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 (ERANGE) +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 resetting T7=50s osmo_tdef_get(7, s) = 50 diff --git a/tests/tdef/tdef_vty_test_config_root.c b/tests/tdef/tdef_vty_test_config_root.c index d69e028..92113e8 100644 --- a/tests/tdef/tdef_vty_test_config_root.c +++ b/tests/tdef/tdef_vty_test_config_root.c @@ -55,6 +55,9 @@ { .T=4, .default_val=100, .unit=OSMO_TDEF_CUSTOM, .desc="Testing a hundred potatoes" }, { .T=0x7fffffff, .default_val=0xffffffff, .unit=OSMO_TDEF_M, .desc="Very large" }, { .T=-23, .default_val=239471, .desc="Negative T number" }, + { .T=30, .default_val=50, .desc="Testing range min", .min_val=20 }, + { .T=31, .default_val=50, .desc="Testing range max", .max_val=52 }, + { .T=32, .default_val=50, .desc="Testing range both", .min_val=20, .max_val=52 }, {} // <-- important! last entry shall be zero }; diff --git a/tests/tdef/tdef_vty_test_config_root.vty b/tests/tdef/tdef_vty_test_config_root.vty index f3aba0f..6a53b80 100644 --- a/tests/tdef/tdef_vty_test_config_root.vty +++ b/tests/tdef/tdef_vty_test_config_root.vty @@ -22,6 +22,9 @@ test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) test: X23 = 239471 s Negative T number (default: 239471 s) +test: T30 = 50 s Testing range min (default: 50 s, range: [20 .. inf]) +test: T31 = 50 s Testing range max (default: 50 s, range: [0 .. 52]) +test: T32 = 50 s Testing range both (default: 50 s, range: [20 .. 52]) software: T1 = 30 m Write code (default: 30 m) software: T2 = 20 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) @@ -38,6 +41,9 @@ test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) test: X23 = 239471 s Negative T number (default: 239471 s) +test: T30 = 50 s Testing range min (default: 50 s, range: [20 .. inf]) +test: T31 = 50 s Testing range max (default: 50 s, range: [0 .. 52]) +test: T32 = 50 s Testing range both (default: 50 s, range: [20 .. 52]) software: T1 = 30 m Write code (default: 30 m) software: T2 = 20 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) @@ -83,6 +89,9 @@ test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) test: X23 = 239471 s Negative T number (default: 239471 s) +test: T30 = 50 s Testing range min (default: 50 s, range: [20 .. inf]) +test: T31 = 50 s Testing range max (default: 50 s, range: [0 .. 52]) +test: T32 = 50 s Testing range both (default: 50 s, range: [20 .. 52]) software: T1 = 30 m Write code (default: 30 m) software: T2 = 20 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) @@ -167,6 +176,32 @@ tdef_vty_test(config)# timer te T2 100 % Ambiguous command. +tdef_vty_test(config)# timer test 30 40 +tdef_vty_test(config)# timer test 30 60 +tdef_vty_test(config)# timer test 30 10 +% Timer T30 value 10 is out of range [20 .. inf] + +tdef_vty_test(config)# timer test 31 40 +tdef_vty_test(config)# timer test 31 60 +% Timer T31 value 60 is out of range [0 .. 52] +tdef_vty_test(config)# timer test 31 10 + +tdef_vty_test(config)# timer test 32 40 +tdef_vty_test(config)# timer test 32 60 +% Timer T32 value 60 is out of range [20 .. 52] +tdef_vty_test(config)# timer test 32 10 +% Timer T32 value 10 is out of range [20 .. 52] + +tdef_vty_test(config)# timer test +test: T1 = 100 s Testing a hundred seconds (default: 100 s) +test: T2 = 100 ms Testing a hundred milliseconds (default: 100 ms) +test: T3 = 100 m Testing a hundred minutes (default: 100 m) +test: T4 = 100 Testing a hundred potatoes (default: 100) +test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) +test: X23 = 239471 s Negative T number (default: 239471 s) +test: T30 = 60 s Testing range min (default: 50 s, range: [20 .. inf]) +test: T31 = 10 s Testing range max (default: 50 s, range: [0 .. 52]) +test: T32 = 40 s Testing range both (default: 50 s, range: [20 .. 52]) tdef_vty_test(config)# do show timer software software: T1 = 30 m Write code (default: 30 m) @@ -230,6 +265,9 @@ test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) test: X23 = 239471 s Negative T number (default: 239471 s) +test: T30 = 60 s Testing range min (default: 50 s, range: [20 .. inf]) +test: T31 = 10 s Testing range max (default: 50 s, range: [0 .. 52]) +test: T32 = 40 s Testing range both (default: 50 s, range: [20 .. 52]) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) software: T3 = 23 m Fix bugs (default: 480 m) @@ -245,6 +283,9 @@ test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) test: X23 = 239471 s Negative T number (default: 239471 s) +test: T30 = 60 s Testing range min (default: 50 s, range: [20 .. inf]) +test: T31 = 10 s Testing range max (default: 50 s, range: [0 .. 52]) +test: T32 = 40 s Testing range both (default: 50 s, range: [20 .. 52]) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) software: T3 = 23 m Fix bugs (default: 480 m) @@ -252,6 +293,9 @@ tdef_vty_test(config)# show running-config ... !timer timer tea T3 32 +timer test T30 60 +timer test T31 10 +timer test T32 40 timer software T1 13 timer software T2 0 timer software T3 23 @@ -261,6 +305,9 @@ tdef_vty_test(config)# timer software T1 default tdef_vty_test(config)# show running-config ... !timer +timer test T30 60 +timer test T31 10 +timer test T32 40 timer software T2 0 timer software T3 23 ... !timer @@ -269,5 +316,8 @@ tdef_vty_test(config)# timer software 2 default tdef_vty_test(config)# show running-config ... !timer +timer test T30 60 +timer test T31 10 +timer test T32 40 timer software T3 23 ... !timer -- 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: 8 Gerrit-Owner: pespin 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 Oct 7 13:28:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 13:28:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: TC_t3169: Check ul block reaches SGSN before timer expiration Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15680 Change subject: pcu: TC_t3169: Check ul block reaches SGSN before timer expiration ...................................................................... pcu: TC_t3169: Check ul block reaches SGSN before timer expiration Change-Id: Ic6fd82dc5037d08278d36aed9b6e72e80da5c42f --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/15680/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index f0c8b1d..0771cf9 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -974,6 +974,10 @@ var PCUIF_Message pcu_msg; var octetstring data; var boolean ok; + var OCT4 tlli := '00000001'O; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); info_ind := valueof(ts_PCUIF_INFO_default); /* Set timer to 1 sec (default 5) to speedup test: */ @@ -982,6 +986,10 @@ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + /* Establish an Uplink TBF */ ok := f_establish_tbf(rr_imm_ass); if (not ok) { @@ -998,6 +1006,8 @@ /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block); + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); /* Wait until T3169 fires (plus 1 extra sec to make sure) */ f_sleep(int2float(info_ind.t3169) + 1.0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic6fd82dc5037d08278d36aed9b6e72e80da5c42f Gerrit-Change-Number: 15680 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 Oct 7 13:28:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 13:28:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: WIP Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 Change subject: WIP ...................................................................... WIP Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 55 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/15681/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 0771cf9..e9003d3 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1017,6 +1017,60 @@ f_rx_rlcmac_dl_block_exp_dummy(dl_block); } +/* pespin */ +testcase TC_pespin() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data; + var boolean ok; + var OCT4 tlli := '00000001'O; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + info_ind := valueof(ts_PCUIF_INFO_default); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3169 := 1; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block); + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + /* Wait until T3169 fires (plus 1 extra sec to make sure) */ + f_sleep(int2float(info_ind.t3169) + 1.0); + + /* Send an UL block once again, the TBF should be gone by now so no ACK */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_dummy(dl_block); + + f_sleep(10.0); +} + control { execute( TC_ns_reset() ); @@ -1034,6 +1088,7 @@ execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); execute( TC_t3169() ); + execute( TC_pespin() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 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 Oct 7 16:30:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 16:30:33 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15682 Change subject: pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding ...................................................................... pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding Wireshark expects to receive the plen in order to decode it. Fixes: 58543709e422ce6ba20baa232e6a5aced9b99164 Change-Id: I91d1354689300b949760cdbaee03294eab958e12 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/82/15682/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index ac04663..6a0d58e 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -238,7 +238,7 @@ 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 + 4, 23); + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_PCH, 0, 0, 0, 0, data + 3, 23); pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I91d1354689300b949760cdbaee03294eab958e12 Gerrit-Change-Number: 15682 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 Oct 7 16:30:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 16:30:33 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15683 Change subject: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items ...................................................................... pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac --- M src/pcu_l1_if.cpp 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/83/15683/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 6a0d58e..70d76f7 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -209,7 +209,7 @@ { 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; @@ -223,7 +223,7 @@ 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 */ + uint8_t data[3 + 1 + 22]; /* paging group + PLEN + imm assign */ /* paging group */ if (!imsi || strlen(imsi) < 3) @@ -233,14 +233,14 @@ data[1] = imsi[1]; data[2] = imsi[2]; - OSMO_ASSERT(block->data_len <= sizeof(data) - (3+1)); - bitvec_pack(block, data + 3+1); + 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 + 3, 23); + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_PCH, 0, 0, 0, 0, data + 3, 1 + 22); - pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3); + pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 3 + 1 + 22); } extern "C" void pcu_rx_block_time(uint16_t arfcn, uint32_t fn, uint8_t ts_no) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac Gerrit-Change-Number: 15683 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 Oct 7 16:36:42 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Oct 2019 16:36:42 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15682 ) Change subject: pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I91d1354689300b949760cdbaee03294eab958e12 Gerrit-Change-Number: 15682 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 07 Oct 2019 16:36: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 Oct 7 16:45:33 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Oct 2019 16:45:33 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15683 ) Change subject: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/#/c/15683/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/15683/1/src/pcu_l1_if.cpp at a212 PS1, Line 212: Unrelated ws fix. https://gerrit.osmocom.org/#/c/15683/1/src/pcu_l1_if.cpp at 226 PS1, Line 226: 1 + 22 I would not separate PLEN from Immediate Assignment, it's a mandatory part of that message. To me 3 + 23 looks cleaner, because I know that 23 is the default GSM MAC block length. Moreover, I would use GSM_MACBLOCK_LEN macro here. https://gerrit.osmocom.org/#/c/15683/1/src/pcu_l1_if.cpp at 237 PS1, Line 237: 3 + 1 Here it's logical (maybe worth adding a comment): we skip 3 octets of paging group, and the first octet of the MAC block (Immediate Assignment message), because bitvec_pack() does not write plen for us. https://gerrit.osmocom.org/#/c/15683/1/src/pcu_l1_if.cpp at 241 PS1, Line 241: 1 + 22 GSM_MACBLOCK_LEN https://gerrit.osmocom.org/#/c/15683/1/src/pcu_l1_if.cpp at 243 PS1, Line 243: 1 + 22 GSM_MACBLOCK_LEN -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac Gerrit-Change-Number: 15683 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 07 Oct 2019 16:45:33 +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 Oct 7 17:11:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 17:11:15 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15682 ) Change subject: pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding ...................................................................... pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding Wireshark expects to receive the plen in order to decode it. Fixes: 58543709e422ce6ba20baa232e6a5aced9b99164 Change-Id: I91d1354689300b949760cdbaee03294eab958e12 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index ac04663..6a0d58e 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -238,7 +238,7 @@ 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 + 4, 23); + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_PCH, 0, 0, 0, 0, data + 3, 23); pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I91d1354689300b949760cdbaee03294eab958e12 Gerrit-Change-Number: 15682 Gerrit-PatchSet: 1 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 Mon Oct 7 17:59:33 2019 From: gerrit-no-reply at lists.osmocom.org (Name of user not set) Date: Mon, 7 Oct 2019 17:59:33 +0000 Subject: Change in ...osmo-trx[master]: CommonLibs: check HAVE_CONFIG_H before including it Message-ID: rauf.gyulaliev at fairwaves.co has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15684 Change subject: CommonLibs: check HAVE_CONFIG_H before including it ...................................................................... CommonLibs: check HAVE_CONFIG_H before including it Change-Id: Idb9e938e7794b67b1db23a31e106c8945f79cf24 --- M CommonLibs/trx_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/84/15684/1 diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index bac9653..9a9e040 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -37,7 +37,10 @@ #include "trx_rate_ctr.h" #include "trx_vty.h" -#include "../config.h" + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif static struct trx_ctx* g_trx_ctx; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb9e938e7794b67b1db23a31e106c8945f79cf24 Gerrit-Change-Number: 15684 Gerrit-PatchSet: 1 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 7 17:59:34 2019 From: gerrit-no-reply at lists.osmocom.org (Name of user not set) Date: Mon, 7 Oct 2019 17:59:34 +0000 Subject: Change in ...osmo-trx[master]: add XTRX support Message-ID: rauf.gyulaliev at fairwaves.co has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 Change subject: add XTRX support ...................................................................... add XTRX support Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 --- M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/xtrx/Makefile.am A Transceiver52M/device/xtrx/XTRXDevice.cpp A Transceiver52M/device/xtrx/XTRXDevice.h M configure.ac M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-xtrx.service M debian/control A debian/osmo-trx-xtrx.install M doc/examples/Makefile.am A doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg 12 files changed, 735 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/85/15685/1 diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am index ade4e30..2f636f4 100644 --- a/Transceiver52M/Makefile.am +++ b/Transceiver52M/Makefile.am @@ -104,3 +104,13 @@ $(LMS_LIBS) osmo_trx_lms_CPPFLAGS = $(AM_CPPFLAGS) $(LMS_CFLAGS) endif + +if DEVICE_XTRX +bin_PROGRAMS += osmo-trx-xtrx +osmo_trx_xtrx_SOURCES = osmo-trx.cpp +osmo_trx_xtrx_LDADD = \ + $(builddir)/device/xtrx/libdevice.la \ + $(COMMON_LDADD) \ + $(XTRX_LIBS) +osmo_trx_xtrx_CPPFLAGS = $(AM_CPPFLAGS) $(XTRX_CFLAGS) +endif diff --git a/Transceiver52M/device/Makefile.am b/Transceiver52M/device/Makefile.am index 369e877..8460a96 100644 --- a/Transceiver52M/device/Makefile.am +++ b/Transceiver52M/device/Makefile.am @@ -13,3 +13,7 @@ if DEVICE_LMS SUBDIRS += lms endif + +if DEVICE_XTRX +SUBDIRS += xtrx +endif diff --git a/Transceiver52M/device/xtrx/Makefile.am b/Transceiver52M/device/xtrx/Makefile.am new file mode 100644 index 0000000..2b99b39 --- /dev/null +++ b/Transceiver52M/device/xtrx/Makefile.am @@ -0,0 +1,10 @@ +include $(top_srcdir)/Makefile.common + +AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/../common +AM_CXXFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) + +noinst_HEADERS = XTRXDevice.h + +noinst_LTLIBRARIES = libdevice.la + +libdevice_la_SOURCES = XTRXDevice.cpp diff --git a/Transceiver52M/device/xtrx/XTRXDevice.cpp b/Transceiver52M/device/xtrx/XTRXDevice.cpp new file mode 100644 index 0000000..27192bb --- /dev/null +++ b/Transceiver52M/device/xtrx/XTRXDevice.cpp @@ -0,0 +1,455 @@ +/* +* Copyright 2018 Sergey Kostanbaev +* + 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 "Threads.h" +#include "XTRXDevice.h" + +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +using namespace std; + +const double defaultRXBandwidth = 0.5e6; +const double defaultTXBandwidth = 1.5e6; + +static int time_tx_corr = 60; //20+20+20+20+20; + +XTRXDevice::XTRXDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, + const std::vector& tx_paths, + const std::vector& rx_paths) : + RadioDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths) +{ + LOG(INFO) << "creating XTRX device:" + << " RXSPS: " << rx_sps + << " TXSPS: " << tx_sps + << " chans: " << chans + << " lo_off: " << lo_offset + << " rx_path(0): " << (rx_paths.size() ? rx_paths[0] : "<>") + << " tx_path(0): " << (tx_paths.size() ? tx_paths[0] : "<>"); + + txsps = tx_sps; + rxsps = rx_sps; + + rxGain = 0; + txGain = 0; + + loopback = false; + device = NULL; +} + +static int parse_config(const char* line, const char* argument, int default_value) +{ + const char* arg_found = strstr(line, argument); + if (!arg_found) + return default_value; + + const char* qe_pos = strchr(arg_found, '='); + if (!qe_pos) + return default_value; + + int res = strtol(qe_pos + 1, NULL, 10); + if (res == 0 && errno) { + return default_value; + } + + return res; +} + +int XTRXDevice::open(const std::string &args, int ref, bool swap_channels) +{ + LOG(INFO) << "opening XTRX device '" << args << "'.."; + + int loglevel = parse_config(args.c_str(), "loglevel", 3); + int lb_param = parse_config(args.c_str(), "loopback", 0); + time_tx_corr = parse_config(args.c_str(), "tcorr", time_tx_corr); + int fref = parse_config(args.c_str(), "refclk", 26000000); + int rxdec = parse_config(args.c_str(), "rxdec", 0); + + char xtrx_name[500]; + const char* lend = strchr(args.c_str(), ','); + int len = (lend) ? (lend - args.c_str()) : sizeof(xtrx_name) - 1; + strncpy(xtrx_name, args.c_str(), len); + xtrx_name[len] = 0; + + if ((txsps % 2) || (rxsps % 2)) { + LOG(ALERT) << "XTRX TxSPS/RxSPS must be even!"; + return -1; + } + + if (lb_param) { + LOG(ALERT) << "XTRX LOOPBACK mode is set!"; + loopback = true; + } + + int res = xtrx_open(xtrx_name, loglevel, &device); + if (res) { + LOG(ALERT) << "XTRX creating failed, device " << xtrx_name << " code " << res; + return -1; + } + double actualMasterClock = 0; + + if (fref > 0) { + xtrx_set_ref_clk(device, fref, XTRX_CLKSRC_INT); + } + + res = xtrx_set_samplerate(device, + GSMRATE * (double) std::min(txsps, rxsps) * 32 * 4 * ((rxdec) ? 2 : 1), + GSMRATE * (double) rxsps, + GSMRATE * (double) txsps, + (rxdec) ? XTRX_SAMPLERATE_FORCE_RX_DECIM : 0, + &actualMasterClock, + &actualRXSampleRate, + &actualTXSampleRate); + if (res) { + LOG(ALERT) << "XTRX failed to set samplerate RX: " << GSMRATE * (double) rxsps + << " TX: " << GSMRATE * (double) txsps + << " res: " << res; + return -1; + } else { + LOG(INFO) << "XTRX set samplerate Master: " << actualMasterClock + << " RX: " << actualRXSampleRate + << " TX: " << actualTXSampleRate; + } + + double bw; + double actualbw; + + actualbw = 0; + bw = defaultRXBandwidth; + res = xtrx_tune_rx_bandwidth(device, XTRX_CH_AB, bw, &actualbw); + if (res) { + LOG(ALERT) << "XTRX failed to set RX bandwidth: " << bw + << " res: " << res; + } else { + LOG(INFO) << "XTRX set RX bandwidth: " << actualbw; + } + + actualbw = 0; + bw = defaultTXBandwidth; + res = xtrx_tune_tx_bandwidth(device, XTRX_CH_AB, bw, &actualbw); + if (res) { + LOG(ALERT) << "XTRX failed to set TX bandwidth: " << bw + << " res: " << res; + } else { + LOG(INFO) << "XTRX set TX bandwidth: " << actualbw; + } + + samplesRead = 0; + samplesWritten = 0; + started = false; + + return NORMAL; +} + +XTRXDevice::~XTRXDevice() +{ + if (device) { + xtrx_close(device); + } +} + +bool XTRXDevice::start() +{ + LOG(INFO) << "starting XTRX..."; + if (started) { + return false; + } + + dataStart = 0; + dataEnd = 0; + timeStart = 0; + timeEnd = 0; + timeRx = initialReadTimestamp(); + timestampOffset = 0; + latestWriteTimestamp = 0; + lastPktTimestamp = 0; + hi32Timestamp = 0; + isAligned = false; + + xtrx_stop(device, XTRX_TX); + xtrx_stop(device, XTRX_RX); + + xtrx_set_antenna(device, XTRX_TX_AUTO); + xtrx_set_antenna(device, XTRX_RX_AUTO); + + xtrx_run_params_t params; + params.dir = XTRX_TRX; + params.nflags = (loopback) ? XTRX_RUN_DIGLOOPBACK : 0; + + params.rx.chs = XTRX_CH_AB; + params.rx.flags = XTRX_RSP_SISO_MODE; + params.rx.hfmt = XTRX_IQ_INT16; + params.rx.wfmt = XTRX_WF_16; + params.rx.paketsize = 625 * rxsps; + + params.tx.chs = XTRX_CH_AB; + params.tx.flags = XTRX_RSP_SISO_MODE; + params.tx.hfmt = XTRX_IQ_INT16; + params.tx.wfmt = XTRX_WF_16; + params.tx.paketsize = 625 * txsps; + + if (loopback) { + params.tx.flags |= XTRX_RSP_SWAP_AB | XTRX_RSP_SWAP_IQ; + } + + params.tx_repeat_buf = NULL; + params.rx_stream_start = initialReadTimestamp(); + + int res = xtrx_run_ex(device, ¶ms); + if (res) { + LOG(ALERT) << "XTRX start failed res: " << res; + } else { + LOG(INFO) << "XTRX started"; + started = true; + } + return started; +} + +bool XTRXDevice::stop() +{ + if (started) { + int res = xtrx_stop(device, XTRX_TRX); + if (res) { + LOG(ALERT) << "XTRX stop failed res: " << res; + } else { + LOG(INFO) << "XTRX stopped"; + started = false; + } + } + return !started; +} + +TIMESTAMP XTRXDevice::initialWriteTimestamp() +{ + if (/*(iface == MULTI_ARFCN) || */(rxsps == txsps)) + return initialReadTimestamp(); + else + return initialReadTimestamp() * txsps; +} + +double XTRXDevice::maxTxGain() +{ + return 30; +} + +double XTRXDevice::minTxGain() +{ + return 0; +} + +double XTRXDevice::maxRxGain() +{ + return 30; +} + +double XTRXDevice::minRxGain() +{ + return 0; +} + +double XTRXDevice::setTxGain(double dB, size_t chan) +{ + if (chan) { + LOG(ALERT) << "Invalid channel " << chan; + return 0.0; + } + LOG(NOTICE) << "Setting TX gain to " << dB << " dB."; + + int res = xtrx_set_gain(device, XTRX_CH_AB, XTRX_TX_PAD_GAIN, dB - 30, &txGain); + if (res) { + LOG(ERR) << "Error setting TX gain res: " << res; + } else { + LOG(NOTICE) << "Actual TX gain: " << txGain << " dB."; + } + + return txGain; +} + + +double XTRXDevice::setRxGain(double dB, size_t chan) +{ + if (chan) { + LOG(ALERT) << "Invalid channel " << chan; + return 0.0; + } + LOG(NOTICE) << "Setting RX gain to " << dB << " dB."; + + int res = xtrx_set_gain(device, XTRX_CH_AB, XTRX_RX_LNA_GAIN, dB, &rxGain); + if (res) { + LOG(ERR) << "Error setting RX gain res: " << res; + } else { + LOG(NOTICE) << "Actual RX gain: " << rxGain << " dB."; + } + + return rxGain; +} + +// NOTE: Assumes sequential reads +int XTRXDevice::readSamples(std::vector &bufs, int len, bool *overrun, + TIMESTAMP timestamp, bool *underrun, unsigned *RSSI) +{ + if (!started) + return -1; + + struct xtrx_recv_ex_info ri; + ri.samples = len; + ri.buffer_count = bufs.size(); + ri.buffers = (void* const*)&bufs[0]; + ri.flags = 0; + + int res = xtrx_recv_sync_ex(device, &ri); + if (res) { + LOG(ALERT) << "xtrx_recv_sync failed res " << res << " current TS " << timeRx << " req TS" << timestamp; + return -1; + } + timeRx += len; + + // TODO get rid of it! + int i; + for (i = 0; i < len * 2; i++) + bufs[0][i] <<= 4; + + if (underrun) { + *underrun = (ri.out_events & RCVEX_EVENT_FILLED_ZERO); + } + return len; + +} + +int XTRXDevice::writeSamples(std::vector &bufs, int len, + bool *underrun, unsigned long long timestamp, + bool isControl) +{ + if (!started) + return 0; + + xtrx_send_ex_info_t nfo; + nfo.buffers = (const void* const*)&bufs[0]; + nfo.buffer_count = bufs.size(); + nfo.flags = XTRX_TX_DONT_BUFFER; + nfo.samples = len; + nfo.ts = timestamp - time_tx_corr; + + int res = xtrx_send_sync_ex(device, &nfo); + if (res != 0) { + LOG(ALERT) << "xtrx_send_sync_ex returned " << res << " len=" << len << " ts=" << timestamp; + return 0; + } + + if (*underrun) { + *underrun = (nfo.out_flags & XTRX_TX_DISCARDED_TO); + } + + return len; +} + +bool XTRXDevice::setRxAntenna(const std::string & ant, size_t chan) +{ + LOG(ALERT) << "CH" << chan << ": RX ANTENNA: " << ant.c_str(); + return true; +} + +std::string XTRXDevice::getRxAntenna(size_t chan) +{ + return ""; +} + +bool XTRXDevice::setTxAntenna(const std::string & ant, size_t chan) +{ + LOG(ALERT) << "CH" << chan << ": TX ANTENNA: " << ant.c_str(); + return true; +} + +std::string XTRXDevice::getTxAntenna(size_t chan ) +{ + return ""; +} + + +bool XTRXDevice::requiresRadioAlign() +{ + return false; +} + +GSM::Time XTRXDevice::minLatency() +{ + return GSM::Time(6,7); +} + +bool XTRXDevice::updateAlignment(TIMESTAMP timestamp) +{ + LOG(ALERT) << "Update Aligment " << timestamp; + return true; +} + +bool XTRXDevice::setTxFreq(double wFreq, size_t chan) +{ + int res; + double actual = 0; + + if (chan) { + LOG(ALERT) << "Invalid channel " << chan; + return false; + } + + if ((res = xtrx_tune(device, XTRX_TUNE_TX_FDD, wFreq, &actual)) == 0) { + LOG(INFO) << "set RX: " << wFreq << std::endl + << " actual freq: " << actual << std::endl; + return true; + } + else { + LOG(ALERT) << "set RX: " << wFreq << "failed (code: " << res << ")" << std::endl; + return false; + } +} + +bool XTRXDevice::setRxFreq(double wFreq, size_t chan) +{ + int res; + double actual = 0; + + if (chan) { + LOG(ALERT) << "Invalid channel " << chan; + return false; + } + + if ((res = xtrx_tune(device, XTRX_TUNE_RX_FDD, wFreq, &actual)) == 0) { + LOG(INFO) << "set RX: " << wFreq << std::endl + << " actual freq: " << actual << std::endl; + return true; + } + else { + LOG(ALERT) << "set RX: " << wFreq << "failed (code: " << res << ")" << std::endl; + return false; + } +} + +RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, + InterfaceType iface, size_t chans, double lo_offset, + const std::vector < std::string > &tx_paths, + const std::vector < std::string > &rx_paths) +{ + return new XTRXDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); +} diff --git a/Transceiver52M/device/xtrx/XTRXDevice.h b/Transceiver52M/device/xtrx/XTRXDevice.h new file mode 100644 index 0000000..d4810e4 --- /dev/null +++ b/Transceiver52M/device/xtrx/XTRXDevice.h @@ -0,0 +1,180 @@ +#ifndef _XTRX_DEVICE_H_ +#define _XTRX_DEVICE_H_ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "radioDevice.h" + +#include +#include +#include +#include + +#include "Threads.h" +#include + +class XTRXDevice: public RadioDevice { +private: + int txsps; + int rxsps; + double actualTXSampleRate; ///< the actual XTRX sampling rate + double actualRXSampleRate; ///< the actual XTRX sampling rate + //unsigned int decimRate; ///< the XTRX decimation rate + //unsigned int interRate; ///< the XTRX decimation rate + + unsigned long long samplesRead; ///< number of samples read from XTRX + unsigned long long samplesWritten; ///< number of samples sent to XTRX + + bool started; ///< flag indicates XTRX has started + + short *data; + unsigned long dataStart; + unsigned long dataEnd; + TIMESTAMP timeStart; + TIMESTAMP timeEnd; + + TIMESTAMP timeRx; + bool isAligned; + + Mutex writeLock; + + short *currData; ///< internal data buffer when reading from XTRX + TIMESTAMP currTimestamp; ///< timestamp of internal data buffer + unsigned currLen; ///< size of internal data buffer + + TIMESTAMP timestampOffset; ///< timestamp offset b/w Tx and Rx blocks + TIMESTAMP latestWriteTimestamp; ///< timestamp of most recent ping command + TIMESTAMP pingTimestamp; ///< timestamp of most recent ping response + + unsigned long hi32Timestamp; + unsigned long lastPktTimestamp; + + double rxGain; + double txGain; + bool loopback; + + xtrx_dev* device; +public: + + /** Object constructor */ + XTRXDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, + const std::vector& tx_paths, + const std::vector& rx_paths); + + ~XTRXDevice(); + + /** Instantiate the XTRX */ + int open(const std::string &args, int ref, bool swap_channels); + + /** Start the XTRX */ + bool start(); + + /** Stop the XTRX */ + bool stop(); + + /** Set priority not supported */ + void setPriority(float prio = 0.5) { } + + enum TxWindowType getWindowType() { return TX_WINDOW_FIXED; } + + /** + Read samples from the XTRX. + @param buf preallocated buf to contain read result + @param len number of samples desired + @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough + @param timestamp The timestamp of the first samples to be read + @param underrun Set if XTRX does not have data to transmit, e.g. data not being sent fast enough + @param RSSI The received signal strength of the read result + @return The number of samples actually read + */ + int readSamples(std::vector &buf, int len, bool *overrun, + TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL, + unsigned *RSSI = NULL); + /** + Write samples to the XTRX. + @param buf Contains the data to be written. + @param len number of samples to write. + @param underrun Set if XTRX does not have data to transmit, e.g. data not being sent fast enough + @param timestamp The timestamp of the first sample of the data buffer. + @param isControl Set if data is a control packet, e.g. a ping command + @return The number of samples actually written + */ + int writeSamples(std::vector &bufs, int len, bool *underrun, + TIMESTAMP timestamp = 0xffffffff, bool isControl = false); + + /** Update the alignment between the read and write timestamps */ + bool updateAlignment(TIMESTAMP timestamp); + + /** Set the transmitter frequency */ + bool setTxFreq(double wFreq, size_t chan = 0); + + /** Set the receiver frequency */ + bool setRxFreq(double wFreq, size_t chan = 0); + + /** Returns the starting write Timestamp*/ + TIMESTAMP initialWriteTimestamp(void); + + /** Returns the starting read Timestamp*/ + TIMESTAMP initialReadTimestamp(void) { return 20000;} + + /** returns the full-scale transmit amplitude **/ + double fullScaleInputValue() {return (double) 32767*0.7;} + + /** returns the full-scale receive amplitude **/ + double fullScaleOutputValue() {return (double) 32767;} + + /** sets the receive chan gain, returns the gain setting **/ + double setRxGain(double dB, size_t chan = 0); + + /** get the current receive gain */ + double getRxGain(size_t chan = 0) { return rxGain; } + + /** return maximum Rx Gain **/ + double maxRxGain(void); + + /** return minimum Rx Gain **/ + double minRxGain(void); + + /** sets the transmit chan gain, returns the gain setting **/ + double setTxGain(double dB, size_t chan = 0); + + /** gets the current transmit gain **/ + double getTxGain(size_t chan = 0) { return txGain; } + + /** return maximum Tx Gain **/ + double maxTxGain(void); + + /** return minimum Rx Gain **/ + double minTxGain(void); + + /** sets the RX path to use, returns true if successful and false otherwise */ + bool setRxAntenna(const std::string & ant, size_t chan = 0); + + /** return the used RX path */ + std::string getRxAntenna(size_t chan = 0); + + /** sets the RX path to use, returns true if successful and false otherwise */ + bool setTxAntenna(const std::string & ant, size_t chan = 0); + + /** return the used RX path */ + std::string getTxAntenna(size_t chan = 0); + + /** return whether user drives synchronization of Tx/Rx of USRP */ + bool requiresRadioAlign(); + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual GSM::Time minLatency(); + + /** Return internal status values */ + inline double getTxFreq(size_t chan = 0) { return 0; } + inline double getRxFreq(size_t chan = 0) { return 0; } + inline double getSampleRate() { return actualTXSampleRate; } + inline double numberRead() { return samplesRead; } + inline double numberWritten() { return samplesWritten; } + +}; + +#endif // _XTRX_DEVICE_H_ + diff --git a/configure.ac b/configure.ac index 350c77c..c0e49b6 100644 --- a/configure.ac +++ b/configure.ac @@ -125,6 +125,11 @@ [enable LimeSuite based transceiver]) ]) +AC_ARG_WITH(xtrx, [ + AS_HELP_STRING([--with-xtrx], + [enable XTRX based transceiver]) +]) + AC_ARG_WITH(singledb, [ AS_HELP_STRING([--with-singledb], [enable single daughterboard use on USRP1]) @@ -164,6 +169,10 @@ PKG_CHECK_MODULES(LMS, LimeSuite) ]) +AS_IF([test "x$with_xtrx" = "xyes"], [ + PKG_CHECK_MODULES(XTRX, libxtrx) +]) + AS_IF([test "x$with_uhd" != "xno"],[ PKG_CHECK_MODULES(UHD, uhd >= 003.011, [AC_DEFINE(USE_UHD_3_11, 1, UHD version 3.11.0 or higher)], @@ -226,6 +235,7 @@ 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"]) +AM_CONDITIONAL(DEVICE_XTRX, [test "x$with_xtrx" = "xyes"]) AM_CONDITIONAL(ARCH_ARM, [test "x$with_neon" = "xyes" || test "x$with_neon_vfpv4" = "xyes"]) AM_CONDITIONAL(ARCH_ARM_A15, [test "x$with_neon_vfpv4" = "xyes"]) @@ -310,6 +320,7 @@ Transceiver52M/device/uhd/Makefile \ Transceiver52M/device/usrp1/Makefile \ Transceiver52M/device/lms/Makefile \ + Transceiver52M/device/xtrx/Makefile \ tests/Makefile \ tests/CommonLibs/Makefile \ tests/Transceiver52M/Makefile \ diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am index 800b1e1..28db86a 100644 --- a/contrib/systemd/Makefile.am +++ b/contrib/systemd/Makefile.am @@ -18,5 +18,10 @@ SYSTEMD_SERVICES += osmo-trx-lms.service endif +if DEVICE_XTRX +SYSTEMD_SERVICES += osmo-trx-xtrx.service +endif + +EXTRA_DIST = $(SYSTEMD_SERVICES) systemdsystemunit_DATA = $(SYSTEMD_SERVICES) endif # HAVE_SYSTEMD diff --git a/contrib/systemd/osmo-trx-xtrx.service b/contrib/systemd/osmo-trx-xtrx.service new file mode 100644 index 0000000..c131812 --- /dev/null +++ b/contrib/systemd/osmo-trx-xtrx.service @@ -0,0 +1,11 @@ +[Unit] +Description=Osmocom SDR BTS L1 Transceiver (XTRX backend) + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/osmo-trx-xtrx -C /etc/osmocom/osmo-trx-xtrx.cfg +RestartSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/debian/control b/debian/control index 750f7b9..109704a 100644 --- a/debian/control +++ b/debian/control @@ -91,6 +91,25 @@ between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) +Package: osmo-trx-xtrx +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: SDR transceiver that implements Layer 1 of a GSM BTS (XTRX) + OsmoTRX is a software-defined radio transceiver that implements the Layer 1 + physical layer of a BTS comprising the following 3GPP specifications: + . + TS 05.01 "Physical layer on the radio path" + TS 05.02 "Multiplexing and Multiple Access on the Radio Path" + TS 05.04 "Modulation" + TS 05.10 "Radio subsystem synchronization" + . + In this context, BTS is "Base transceiver station". It's the stations that + connect mobile phones to the mobile network. + . + 3GPP is the "3rd Generation Partnership Project" which is the collaboration + between different telecommunication associations for developing new + generations of mobile phone networks. (post-2G/GSM) + Package: osmo-trx-doc Architecture: all Section: doc diff --git a/debian/osmo-trx-xtrx.install b/debian/osmo-trx-xtrx.install new file mode 100644 index 0000000..8601346 --- /dev/null +++ b/debian/osmo-trx-xtrx.install @@ -0,0 +1,4 @@ +etc/osmocom/osmo-trx-xtrx.cfg +lib/systemd/system/osmo-trx-xtrx.service +/usr/bin/osmo-trx-xtrx +/usr/share/doc/osmo-trx/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-xtrx/ diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 88d9142..4b52834 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -14,6 +14,10 @@ OSMOCONF_FILES += osmo-trx-lms/osmo-trx-lms.cfg endif +if DEVICE_XTRX +OSMOCONF_FILES += osmo-trx-xtrx/osmo-trx-xtrx.cfg +endif + osmoconf_DATA = $(OSMOCONF_FILES) EXTRA_DIST = $(OSMOCONF_FILES) diff --git a/doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg b/doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg new file mode 100644 index 0000000..e2c67d6 --- /dev/null +++ b/doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg @@ -0,0 +1,22 @@ +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print file basename + logging level set-all info +! +line vty + no login +! +trx + bind-ip 127.0.0.1 + remote-ip 127.0.0.1 + base-port 5700 + egprs disable + tx-sps 4 + rx-sps 4 + rt-prio 18 + chan 0 + tx-path BAND1 + rx-path LNAW -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 1 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 7 18:08:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 18:08:47 +0000 Subject: Change in ...osmo-trx[master]: CommonLibs: check HAVE_CONFIG_H before including it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15684 ) Change subject: CommonLibs: check HAVE_CONFIG_H before including it ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15684/1/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/#/c/15684/1/CommonLibs/trx_vty.c at 42 PS1, Line 42: #include "config.h" You are also changing the path here. Why? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb9e938e7794b67b1db23a31e106c8945f79cf24 Gerrit-Change-Number: 15684 Gerrit-PatchSet: 1 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 18:08: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 Oct 7 18:09:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 18:09:39 +0000 Subject: Change in ...osmo-trx[master]: CommonLibs: check HAVE_CONFIG_H before including it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15684 ) Change subject: CommonLibs: check HAVE_CONFIG_H before including it ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15684/1/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/#/c/15684/1/CommonLibs/trx_vty.c at 42 PS1, Line 42: #include "config.h" > You are also changing the path here. [?] Also interesting, how can it happen that you run without having config.h? I'd say that's not expected. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb9e938e7794b67b1db23a31e106c8945f79cf24 Gerrit-Change-Number: 15684 Gerrit-PatchSet: 1 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 18:09: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 Mon Oct 7 18:29:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 18:29:15 +0000 Subject: Change in ...osmo-trx[master]: add XTRX support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 ) Change subject: add XTRX support ...................................................................... Patch Set 1: Code-Review-1 (19 comments) https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp File Transceiver52M/device/xtrx/XTRXDevice.cpp: https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 37 PS1, Line 37: static int time_tx_corr = 60; //20+20+20+20+20; 20+20+20+20+20 is not 60 lol https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 49 PS1, Line 49: << " rx_path(0): " << (rx_paths.size() ? rx_paths[0] : "<>") I don't remember now how tx_paths/rx_pathsa re generated, but I bet it's always populated to be size() == chans, and I doubt chans can be zero (int that case we should exit way before). https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 52 PS1, Line 52: txsps = tx_sps; You can probably set those around line 42 out of the body of the function (constructor initializers). https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 173 PS1, Line 173: bool XTRXDevice::start() trailing whitespace https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 177 PS1, Line 177: return false; would be great checking other devices to see if we actually return true here. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 194 PS1, Line 194: xtrx_set_antenna(device, XTRX_TX_AUTO); so rx_path/tx_path VTY params are not really used yet? https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 230 PS1, Line 230: bool XTRXDevice::stop() trailing whitespace https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 265 PS1, Line 265: } trailing whitespace https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 280 PS1, Line 280: int res = xtrx_set_gain(device, XTRX_CH_AB, XTRX_TX_PAD_GAIN, dB - 30, &txGain); db - 30 ? https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 311 PS1, Line 311: TIMESTAMP timestamp, bool *underrun, unsigned *RSSI) Please fix indenting for params, they should be under the "(" character. ( in all functions!). https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 322 PS1, Line 322: int res = xtrx_recv_sync_ex(device, &ri); You probably need to add code to use smpl_buf in here later on, not needed for now though. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 345 PS1, Line 345: if (!started) I think this should never happen, because Transceiver stops threads calling this function on those conditions. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 361 PS1, Line 361: if (*underrun) { No need for brackets here. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 370 PS1, Line 370: LOG(ALERT) << "CH" << chan << ": RX ANTENNA: " << ant.c_str(); probably want to add "(Not implemented)" here. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 401 PS1, Line 401: bool XTRXDevice::updateAlignment(TIMESTAMP timestamp) trailing whitespace https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 403 PS1, Line 403: LOG(ALERT) << "Update Aligment " << timestamp; Since requiresRadioAlign() returns false, this should never be called, right? https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 419 PS1, Line 419: << " actual freq: " << actual << std::endl; Fix indent. https://gerrit.osmocom.org/#/c/15685/1/contrib/systemd/Makefile.am File contrib/systemd/Makefile.am: https://gerrit.osmocom.org/#/c/15685/1/contrib/systemd/Makefile.am at 25 PS1, Line 25: EXTRA_DIST = $(SYSTEMD_SERVICES) That's wrong I'd say. You want to keep all files in EXTRA_DIST, because someone else may decide to compile with different TRX device support from the archive later on, so all of themm need to be available. https://gerrit.osmocom.org/#/c/15685/1/doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg File doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg: https://gerrit.osmocom.org/#/c/15685/1/doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg at 21 PS1, Line 21: tx-path BAND1 Do you use same names for tx/rx paths as LimeSUite? Otherwise this is wrong. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 1 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 18:29:15 +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 Oct 7 18:56:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 18:56:57 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items 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/+/15683 to look at the new patch set (#2). Change subject: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items ...................................................................... pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac --- M src/pcu_l1_if.cpp 1 file changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/83/15683/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac Gerrit-Change-Number: 15683 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 Oct 7 18:57:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 18:57:00 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15686 Change subject: pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN ...................................................................... pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN Change-Id: Ieec3dd028fffa1a735afaaf3f93da0a1202d122a --- M src/pcu_l1_if.cpp 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/86/15686/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 4d37afa..30e4524 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -208,16 +208,16 @@ void pcu_l1if_tx_agch(bitvec * block, int plen) { struct gprs_rlcmac_bts *bts = bts_main_data(); - uint8_t data[23]; /* prefix PLEN */ - + uint8_t data[GSM_MACBLOCK_LEN]; /* 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); + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_AGCH, 0, 0, 0, 0, data, GSM_MACBLOCK_LEN); - pcu_tx_data_req(0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, 23); + pcu_tx_data_req(0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, GSM_MACBLOCK_LEN); } #define PAGING_GROUP_LEN 3 @@ -379,8 +379,8 @@ case PCU_IF_SAPI_PTCCH: /* FIXME */ { - struct msgb *msg = msgb_alloc(23, "l1_prim"); - memset(msgb_put(msg, 23), 0x2b, 23); + struct msgb *msg = msgb_alloc(GSM_MACBLOCK_LEN, "l1_prim"); + memset(msgb_put(msg, GSM_MACBLOCK_LEN), 0x2b, GSM_MACBLOCK_LEN); pcu_l1if_tx_ptcch(msg, rts_req->trx_nr, rts_req->ts_nr, rts_req->arfcn, rts_req->fn, rts_req->block_nr); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec3dd028fffa1a735afaaf3f93da0a1202d122a Gerrit-Change-Number: 15686 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 Oct 7 19:04:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 19:04:38 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items 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/+/15683 to look at the new patch set (#3). Change subject: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items ...................................................................... pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac --- M src/pcu_l1_if.cpp 1 file changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/83/15683/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac Gerrit-Change-Number: 15683 Gerrit-PatchSet: 3 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 Oct 7 19:04:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 7 Oct 2019 19:04:41 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15687 Change subject: pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer ...................................................................... pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer paging group is 3 bytes and imm assign with plen prepended is 23 bytes, so there's 1 extra byte not needed and makes code confusing. Change-Id: Id7835e5aa1506505ff54e019b38f30111f79b5dc --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/15687/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 6a0d58e..b0dfcc5 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -223,7 +223,7 @@ 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 */ + uint8_t data[3+23]; /* paging group, prefix PLEN */ /* paging group */ if (!imsi || strlen(imsi) < 3) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id7835e5aa1506505ff54e019b38f30111f79b5dc Gerrit-Change-Number: 15687 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 Oct 7 19:56:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:56:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 ) Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 19:56: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 Mon Oct 7 19:56:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:56:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 ) Change subject: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 19:56: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 Oct 7 19:56:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:56:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Allow tests to overwrite pcuif INFO_IND params In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 ) Change subject: pcu: Allow tests to overwrite pcuif INFO_IND params ...................................................................... pcu: Allow tests to overwrite pcuif INFO_IND params Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 47 insertions(+), 99 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index a36e261..ae0762a 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -677,62 +677,13 @@ ts_PCUIF_InfoTrx, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL }; - template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr, - template (value) uint16_t nsei, - template (value) uint16_t nsvci, - template (value) uint16_t bvci, - template (value) uint16_t local_port, - template (value) uint16_t remote_port, - template (value) OCT4 remote_ip, - template (value) PCUIF_Flags flags := c_PCUIF_Flags_default, - template (value) uint16_t mcc := 262, - template (value) uint16_t mnc := 42, - template (value) uint16_t lac := 13135, - template (value) uint8_t rac := 0, - template (value) uint16_t cell_id := 20960, - template (value) uint8_t bsic := 7, - template (value) PCUIF_InfoTrxs trx := ts_PCUIF_InfoTrxs_def, - template (value) uint32_t version := PCU_IF_VERSION) := { + template (value) PCUIF_info_ind info_ind) := { msg_type := PCU_IF_MSG_INFO_IND, bts_nr := bts_nr, spare := '0000'O, u := { - info_ind := { - version := version, - flags := flags, - trx := trx, - bsic := bsic, - mcc := mcc, - mnc := mnc, - mnc_3_digits := 0, - lac := lac, - rac := rac, - nsei := 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 := cell_id, - repeat_time := 5 * 50, - repeat_count := 3, - bvci := 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 := { nsvci, 0 }, - local_pprt := { local_port, 0 }, - remote_port := { remote_port, 0 }, - remote_ip := { remote_ip , '00000000'O } - } + info_ind := info_ind } } template PCUIF_Message tr_PCUIF_INFO_IND(template uint8_t bts_nr := ?, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 4d20027..d5e53e2 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -69,9 +69,50 @@ } } +/* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ +template (value) PCUIF_info_ind ts_PCUIF_INFO_default := { + version := PCU_IF_VERSION, + flags := c_PCUIF_Flags_default, + trx := valueof(ts_PCUIF_InfoTrxs_def), + bsic := 7, + mcc := 262, + mnc := 42, + mnc_3_digits := 0, + 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 } +} + function f_init_pcuif() runs on RAW_PCU_CT { + var PCUIF_info_ind info_ind; map(self:PCU, system:PCU); + + info_ind := valueof(ts_PCUIF_INFO_default); + /* Connect the Unix Domain Socket */ g_pcu_conn_id := f_pcuif_listen(PCU, mp_pcu_sock_path); PCU.receive(UD_connected:?); @@ -79,15 +120,8 @@ /* Wait for PCU_VERSION and return INFO_IND */ PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_TXT_IND(0, PCU_VERSION, ?))); /* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ - var template PCUIF_Message info_ind := ts_PCUIF_INFO_IND(bts_nr := 0, - 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) - ); - PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind)); + var template PCUIF_Message info_ind_msg := ts_PCUIF_INFO_IND(0, info_ind); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind_msg)); } function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { @@ -439,9 +473,8 @@ } } -private function f_init_raw(charstring id) +private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) 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; @@ -459,44 +492,8 @@ 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)); + vc_BTS.start(f_BTS_CT_handler(0, valueof(info_ind))); /* Wait until the BTS is ready (SI13 negotiated) */ BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 Gerrit-Change-Number: 15674 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 Oct 7 19:56:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:56:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce func helper f_imm_ass_verify_ul_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/+/15675 ) Change subject: pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() ...................................................................... pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass() Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 28 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index d5e53e2..344c39f 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -549,6 +549,28 @@ return false; } +private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) +runs on RAW_PCU_Test_CT return boolean { + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass := rr_imm_ass.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"); + return false; + } + + /* 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()); + return false; + } + + return true; +} + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0) runs on RAW_PCU_Test_CT { @@ -847,10 +869,10 @@ private template integer CS4_lqual_dB_range := (12 .. infinity); testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; var PCUIF_Message pcu_msg; - var GsmRrMessage rr_msg; var octetstring data; var boolean ok; @@ -858,25 +880,15 @@ f_init_raw(testcasename()); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_msg); + ok := f_establish_tbf(rr_imm_ass); if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF"); + setverdict(fail, "Failed to establish TBF"); mtc.stop; } - /* Make sure we received an UL TBF 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; - } - - /* 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()); + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); mtc.stop; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237 Gerrit-Change-Number: 15675 Gerrit-PatchSet: 4 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 Oct 7 19:56:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:56:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3169 In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 ) Change subject: pcu: Introduce test TC_t3169 ...................................................................... pcu: Introduce test TC_t3169 Related: OS#3928 Change-Id: I587413a7de7956daee3423057530e4052a55ba88 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 93 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index ad9d8f4..359cb74 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -306,6 +306,28 @@ usf := usf } + template RlcmacDlBlock tr_RLCMAC_DUMMY_CTRL(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_DL_DUMMY_CTRL, + u := { + dl_dummy := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := * + } + } + } + } + } + /* Receive Template for Downlink ACK/NACK */ template RlcmacDlBlock tr_RLCMAC_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { ctrl := { diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 344c39f..f0c8b1d 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -602,6 +602,25 @@ f_pcuif_tx_data_ind(data, lqual_cb); } +private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) +runs on RAW_PCU_Test_CT { + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := num_blocks - 1, /* num 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; + + for (var integer i := 0; i < num_blocks; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (num_blocks - i - 1); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + f_tx_rlcmac_ul_block(ul_data); + } +} + private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block) runs on RAW_PCU_Test_CT { var PCUIF_Message pcu_msg; @@ -618,6 +637,15 @@ } } +private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + f_rx_rlcmac_dl_block(dl_block); + if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + setverdict(fail, "Failed to match Packet DUMMY DL"); + mtc.stop; + } +} + 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; @@ -937,6 +965,48 @@ } } +/* Verify PCU drops TBF after some time of inactivity. */ +testcase TC_t3169() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data; + var boolean ok; + + info_ind := valueof(ts_PCUIF_INFO_default); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3169 := 1; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block); + + /* Wait until T3169 fires (plus 1 extra sec to make sure) */ + f_sleep(int2float(info_ind.t3169) + 1.0); + + /* Send an UL block once again, the TBF should be gone by now so no ACK */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_dummy(dl_block); +} + control { execute( TC_ns_reset() ); @@ -953,6 +1023,7 @@ execute( TC_ta_rach_imm_ass() ); execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); + execute( TC_t3169() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I587413a7de7956daee3423057530e4052a55ba88 Gerrit-Change-Number: 15676 Gerrit-PatchSet: 5 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 Oct 7 19:56:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:56:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: TC_t3169: Check ul block reaches SGSN before timer expiration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15680 ) Change subject: pcu: TC_t3169: Check ul block reaches SGSN before timer expiration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic6fd82dc5037d08278d36aed9b6e72e80da5c42f Gerrit-Change-Number: 15680 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 07 Oct 2019 19:56: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 Oct 7 19:56:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:56:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: TC_t3169: Check ul block reaches SGSN before timer expiration In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15680 ) Change subject: pcu: TC_t3169: Check ul block reaches SGSN before timer expiration ...................................................................... pcu: TC_t3169: Check ul block reaches SGSN before timer expiration Change-Id: Ic6fd82dc5037d08278d36aed9b6e72e80da5c42f --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 10 insertions(+), 0 deletions(-) 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 f0c8b1d..0771cf9 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -974,6 +974,10 @@ var PCUIF_Message pcu_msg; var octetstring data; var boolean ok; + var OCT4 tlli := '00000001'O; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); info_ind := valueof(ts_PCUIF_INFO_default); /* Set timer to 1 sec (default 5) to speedup test: */ @@ -982,6 +986,10 @@ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + /* Establish an Uplink TBF */ ok := f_establish_tbf(rr_imm_ass); if (not ok) { @@ -998,6 +1006,8 @@ /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block); + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); /* Wait until T3169 fires (plus 1 extra sec to make sure) */ f_sleep(int2float(info_ind.t3169) + 1.0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic6fd82dc5037d08278d36aed9b6e72e80da5c42f Gerrit-Change-Number: 15680 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 Mon Oct 7 19:57:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:57:02 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15687 ) Change subject: pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id7835e5aa1506505ff54e019b38f30111f79b5dc Gerrit-Change-Number: 15687 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 07 Oct 2019 19:57: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 Oct 7 19:57:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:57:22 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15683 ) Change subject: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac Gerrit-Change-Number: 15683 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 07 Oct 2019 19:57: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 Oct 7 19:57:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:57:45 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15686 ) Change subject: pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec3dd028fffa1a735afaaf3f93da0a1202d122a Gerrit-Change-Number: 15686 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 07 Oct 2019 19:57: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 Mon Oct 7 19:57:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:57:47 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15687 ) Change subject: pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer ...................................................................... pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer paging group is 3 bytes and imm assign with plen prepended is 23 bytes, so there's 1 extra byte not needed and makes code confusing. Change-Id: Id7835e5aa1506505ff54e019b38f30111f79b5dc --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 6a0d58e..b0dfcc5 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -223,7 +223,7 @@ 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 */ + uint8_t data[3+23]; /* paging group, prefix PLEN */ /* paging group */ if (!imsi || strlen(imsi) < 3) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id7835e5aa1506505ff54e019b38f30111f79b5dc Gerrit-Change-Number: 15687 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 Mon Oct 7 19:57:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:57:47 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15683 ) Change subject: pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items ...................................................................... pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac --- M src/pcu_l1_if.cpp 1 file changed, 12 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index b0dfcc5..4ed512a 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -220,27 +220,31 @@ pcu_tx_data_req(0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, 23); } +#define PAGING_GROUP_LEN 3 void pcu_l1if_tx_pch(bitvec * block, int plen, const char *imsi) { struct gprs_rlcmac_bts *bts = bts_main_data(); - uint8_t data[3+23]; /* paging group, prefix PLEN */ + uint8_t data[PAGING_GROUP_LEN + GSM_MACBLOCK_LEN]; - /* paging group */ - if (!imsi || strlen(imsi) < 3) + /* prepend paging group */ + if (!imsi || strlen(imsi) < PAGING_GROUP_LEN) return; - imsi += strlen(imsi) - 3; + imsi += strlen(imsi) - PAGING_GROUP_LEN; data[0] = imsi[0]; data[1] = imsi[1]; data[2] = imsi[2]; - OSMO_ASSERT(block->data_len <= sizeof(data) - (3+1)); - bitvec_pack(block, data + 3+1); + /* block provided by upper layer comes without first byte (plen), + * prepend it manually: + */ + OSMO_ASSERT(sizeof(data) >= PAGING_GROUP_LEN + 1 + block->data_len); data[3] = (plen << 2) | 0x01; + bitvec_pack(block, data + PAGING_GROUP_LEN + 1); 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 + 3, 23); + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_PCH, 0, 0, 0, 0, data + 3, GSM_MACBLOCK_LEN); - pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3); + pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, PAGING_GROUP_LEN + GSM_MACBLOCK_LEN); } extern "C" void pcu_rx_block_time(uint16_t arfcn, uint32_t fn, uint8_t ts_no) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I32876858e3e93951e965b0fc7875c95c1f36f3ac Gerrit-Change-Number: 15683 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 7 19:57:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 19:57:47 +0000 Subject: Change in ...osmo-pcu[master]: pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15686 ) Change subject: pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN ...................................................................... pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN Change-Id: Ieec3dd028fffa1a735afaaf3f93da0a1202d122a --- M src/pcu_l1_if.cpp 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 4ed512a..883cb22 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -208,16 +208,16 @@ void pcu_l1if_tx_agch(bitvec * block, int plen) { struct gprs_rlcmac_bts *bts = bts_main_data(); - uint8_t data[23]; /* prefix PLEN */ - + uint8_t data[GSM_MACBLOCK_LEN]; /* 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); + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_AGCH, 0, 0, 0, 0, data, GSM_MACBLOCK_LEN); - pcu_tx_data_req(0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, 23); + pcu_tx_data_req(0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, GSM_MACBLOCK_LEN); } #define PAGING_GROUP_LEN 3 @@ -379,8 +379,8 @@ case PCU_IF_SAPI_PTCCH: /* FIXME */ { - struct msgb *msg = msgb_alloc(23, "l1_prim"); - memset(msgb_put(msg, 23), 0x2b, 23); + struct msgb *msg = msgb_alloc(GSM_MACBLOCK_LEN, "l1_prim"); + memset(msgb_put(msg, GSM_MACBLOCK_LEN), 0x2b, GSM_MACBLOCK_LEN); pcu_l1if_tx_ptcch(msg, rts_req->trx_nr, rts_req->ts_nr, rts_req->arfcn, rts_req->fn, rts_req->block_nr); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec3dd028fffa1a735afaaf3f93da0a1202d122a Gerrit-Change-Number: 15686 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 Mon Oct 7 20:01:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 20:01:44 +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+2 -- 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: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 20:01: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 Oct 7 20:01:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 20:01:45 +0000 Subject: Change in ...libosmocore[master]: vty: Optionally Set/replace cfg file during cmd 'write file' In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified 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: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Oct 7 20:02:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 20:02:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Make RTP bwe/oa format conversation tests more robust In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 ) Change subject: MGCP_Test: Make RTP bwe/oa format conversation tests more robust ...................................................................... MGCP_Test: Make RTP bwe/oa format conversation tests more robust The following testcases are carried out using two bidirectional connections on one MGW endpoint. MGCP_Test.TC_amr_oa_bwe_rtp_conversion MGCP_Test.TC_amr_oa_oa_rtp_conversion MGCP_Test.TC_amr_bwe_bwe_rtp_conversion The test is programmed in a way that the TTCN3 side of the RTP emulation also works in bidirectional mode. This is prone to run into a race condition when the RX side is activated but the TX side is already transmitting. However, in order to test if the RTP format conversion works we do not need to test both directions at the same time. Its perfectly fine to do the one direction first and then do the other afterwards. Lets also add some guard time while switching the RTP flows. Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 7ddb6ea..41def03 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2012,7 +2012,7 @@ f_init(ep); - /* from us to MGW */ + /* Connection #0 (Bidirectional) */ flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); /* bind local RTP emulation sockets */ flow[0].em.portnr := 10000; @@ -2023,7 +2023,7 @@ flow[0].fmtp := fmtp0; f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]); - /* from MGW back to us */ + /* Connection #1 (Bidirectional) */ flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); flow[1].em.portnr := 20000; flow[1].rtp_cfg := c_RtpemDefaultCfg; @@ -2033,17 +2033,31 @@ flow[1].fmtp := fmtp1; f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]); - f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR); - f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); - + /* Send RTP packets to connection #0, receive on connection #1 */ + f_rtpem_mode(RTPEM[1], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_TXONLY); f_sleep(1.0); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + /* Send RTP packets to connection #1, receive on connection #0 */ + f_rtpem_mode(RTPEM[0], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_TXONLY); + f_sleep(1.0); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + + /* Remove RTP flows and check statistics */ f_flow_delete(RTPEM[0]); f_flow_delete(RTPEM[1], ep, call_id); + /* Check for errors */ stats[0] := f_rtpem_stats_get(RTPEM[0]); stats[1] := f_rtpem_stats_get(RTPEM[1]); - f_rtpem_stats_err_check(stats[0]); f_rtpem_stats_err_check(stats[1]); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf257cfc1ab45a7f0fb6e1a2f6426f1b3145879b Gerrit-Change-Number: 15639 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Oct 7 20:02:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 20:02:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_on... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 ) Change subject: MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp ...................................................................... MGCP_Test: Relax expected number of packets in TC_one_crcx_receive_only_rtp The testcase TC_one_crcx_receive_only_rtp performs a short RTP transmission that lasts about 1 second. Then it conuts out the number of packets that are transmitted and checks against a fixed value. The compare values are determined using experimentation and reflect the number of bytes/packets that one could expect under normal conditions on an average machine. However, there may be load sitations on the test host that may cause that a too little number of packets is transmitted and the test will fail. Lets reduce the number a bit as the only thing we want to make sure with this is that there are at least some (more than one or two) packets transmitted Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a --- M mgw/MGCP_Test.ttcn 1 file changed, 9 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 41def03..1a45015 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1601,10 +1601,17 @@ stats := f_rtpem_stats_get(RTPEM[0]); - if (stats.num_pkts_tx < 40) { + /* Make sure that at least some amount of RTP packets/bytes + * have has been transmitted. The compare values for + * stats.num_pkts_tx and stats.bytes_payload_tx are determined + * using a testrun and the results were devided by 2, so even + * in load situations we should reach the minimum amount of + * required packets/bytes */ + + if (stats.num_pkts_tx < 24) { setverdict(fail); } - if (stats.bytes_payload_tx < 190) { + if (stats.bytes_payload_tx < 96) { setverdict(fail); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie63445d61268d178940ce8d9cfa984519c42041a Gerrit-Change-Number: 15640 Gerrit-PatchSet: 5 Gerrit-Owner: dexter 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 Oct 7 20:02:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 20:02:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 ) Change subject: MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion ...................................................................... MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion The testcase TC_ts101318_rfc5993_rtp_conversion tests the RTP packet format conversion of ts101318 to rfc5993 and vice versa. At the moment the testcase sends RTP packets in both directions at the same time. In order to simplify the test and to make race conditions less likely, lets test both directions separately and add some guard time. Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 --- M mgw/MGCP_Test.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 1a45015..b46b178 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1968,7 +1968,7 @@ f_vty_transceive(MGWVTY, "mgcp"); f_vty_transceive(MGWVTY, "rtp-patch rfc5993hr"); - /* from us to MGW */ + /* Connection #0 (Bidirectional) */ flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000")); /* bind local RTP emulation sockets */ flow[0].em.portnr := 10000; @@ -1978,7 +1978,7 @@ flow[0].rtp_cfg.tx_fixed_payload := '0b11b3eede60be4e3ec68838c7b5'O; f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]); - /* from MGW back to us */ + /* Connection #1 (Bidirectional) */ flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000")); flow[1].em.portnr := 20000; flow[1].rtp_cfg := c_RtpemDefaultCfg; @@ -1987,17 +1987,31 @@ flow[1].rtp_cfg.tx_fixed_payload := '000b11b3eede60be4e3ec68838c7b5'O; f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]); - f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR); - f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); - + /* Send RTP packets to connection #0, receive on connection #1 */ + f_rtpem_mode(RTPEM[1], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_TXONLY); f_sleep(1.0); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + /* Send RTP packets to connection #1, receive on connection #0 */ + f_rtpem_mode(RTPEM[0], RTPEM_MODE_RXONLY); + f_sleep(0.5); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_TXONLY); + f_sleep(1.0); + f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + + /* Remove RTP flows and check statistics */ f_flow_delete(RTPEM[0]); f_flow_delete(RTPEM[1], ep, call_id); + /* Check for errors */ stats[0] := f_rtpem_stats_get(RTPEM[0]); stats[1] := f_rtpem_stats_get(RTPEM[1]); - f_rtpem_stats_err_check(stats[0]); f_rtpem_stats_err_check(stats[1]); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597 Gerrit-Change-Number: 15641 Gerrit-PatchSet: 5 Gerrit-Owner: dexter 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 Oct 7 20:02:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 20:02:51 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15670 ) Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 07 Oct 2019 20: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 Mon Oct 7 20:03:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 20:03:08 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 831b1c9..68303e1 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -23,14 +23,17 @@ from __future__ import absolute_import -import exceptions - - -class NoCardError(exceptions.Exception): +try: + # This is for compatibility with python 2 and 3 + from exceptions import Exception +except: pass -class ProtocolError(exceptions.Exception): +class NoCardError(Exception): pass -class ReaderError(exceptions.Exception): +class ProtocolError(Exception): + pass + +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: 5 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Mon Oct 7 20:38:04 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 7 Oct 2019 20:38:04 +0000 Subject: Change in ...osmo-bts[master]: remove dummy UL measurement results for lost sacch frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14762 ) Change subject: remove dummy UL measurement results for lost sacch frames ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfa123f8d02a9d8be1f6de6923fc2a8628020145 Gerrit-Change-Number: 14762 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 07 Oct 2019 20:38: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 Oct 7 21:35:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: SRAM linker script: shift start of RAM by 64kByte Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 to review the following change. Change subject: SRAM linker script: shift start of RAM by 64kByte ...................................................................... SRAM linker script: shift start of RAM by 64kByte Change-Id: I69ed656ac7007c5b8aa08c18569a7da5fe6ef277 FIXME: Why? --- M sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/88/15688/1 diff --git a/sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld b/sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld index c770c7c..13faee2 100644 --- a/sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld +++ b/sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld @@ -35,7 +35,7 @@ /* Memory Spaces Definitions */ MEMORY { - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000 + ram (rwx) : ORIGIN = 0x20000000+ 0x00010000, LENGTH = 0x00020000 bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 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: I69ed656ac7007c5b8aa08c18569a7da5fe6ef277 Gerrit-Change-Number: 15688 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 7 21:35:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: change IRQ endpoint re-submit logic. Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 to review the following change. Change subject: WIP: change IRQ endpoint re-submit logic. ...................................................................... WIP: change IRQ endpoint re-submit logic. Why? Change-Id: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed --- M sysmoOCTSIM/main.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/89/15689/1 diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c index 9ef7f2f..6e2d6ac 100644 --- a/sysmoOCTSIM/main.c +++ b/sysmoOCTSIM/main.c @@ -220,7 +220,9 @@ struct msgb *msg; int rc; - OSMO_ASSERT(!ep_q->in_progress); + if (ep_q->in_progress) + return 0; + msg = msgb_dequeue_irqsafe(&ep_q->list); if (!msg) return 0; @@ -1110,6 +1112,7 @@ while (true) { // main loop command_try_recv(); poll_card_detect(); + submit_next_irq(); osmo_timers_update(); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 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: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed Gerrit-Change-Number: 15689 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 7 21:35:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ISO7816-3 FSMs as osmo_fsm Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15690 Change subject: ISO7816-3 FSMs as osmo_fsm ...................................................................... ISO7816-3 FSMs as osmo_fsm This implements ISO 7816-3 T=0 as three finite state machines using osmo_fsm. Change-Id: I0145b77e6165d36d33f18ef3a452f2c37913bd73 --- M ccid/Makefile M ccid/ccid_device.h M ccid/ccid_main_functionfs.c A ccid/iso7816_fsm.c A ccid/iso7816_fsm.h A ccid/logging.c A ccid/logging.h M sysmoOCTSIM/libosmo_emb.c M sysmoOCTSIM/logging.h 9 files changed, 1,318 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/90/15690/1 diff --git a/ccid/Makefile b/ccid/Makefile index 0fadd22..5f784ba 100644 --- a/ccid/Makefile +++ b/ccid/Makefile @@ -1,6 +1,6 @@ CFLAGS=-Wall -g -ccid_functionfs: ccid_main_functionfs.o ccid_proto.o ccid_device.o ccid_slot_sim.o +ccid_functionfs: ccid_main_functionfs.o logging.o ccid_proto.o ccid_device.o ccid_slot_sim.o $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio hub_functionfs: hub_main_functionfs.o diff --git a/ccid/ccid_device.h b/ccid/ccid_device.h index afd4a7a..ae3ab5b 100644 --- a/ccid/ccid_device.h +++ b/ccid/ccid_device.h @@ -3,11 +3,7 @@ #include #include "ccid_proto.h" - -enum { - DCCID, - DUSB, -}; +#include "logging.h" #define NR_SLOTS 8 diff --git a/ccid/ccid_main_functionfs.c b/ccid/ccid_main_functionfs.c index 26bb525..5c0bc3b 100644 --- a/ccid/ccid_main_functionfs.c +++ b/ccid/ccid_main_functionfs.c @@ -7,6 +7,7 @@ #include #include "ccid_proto.h" +#include "logging.h" #if __BYTE_ORDER == __LITTLE_ENDIAN #define cpu_to_le16(x) (x) @@ -504,27 +505,6 @@ .send_int = ccid_ops_send_int, }; -static const struct log_info_cat log_info_cat[] = { - [DUSB] = { - .name = "USB", - .description = "USB Transport", - .enabled = 1, - .loglevel = LOGL_NOTICE, - }, - [DCCID] = { - .name = "CCID", - .description = "CCID Core", - .color = "\033[1;35m", - .enabled = 1, - .loglevel = LOGL_DEBUG, - }, -}; - -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) diff --git a/ccid/iso7816_fsm.c b/ccid/iso7816_fsm.c new file mode 100644 index 0000000..f8fe14a --- /dev/null +++ b/ccid/iso7816_fsm.c @@ -0,0 +1,1178 @@ +/* ISO 7816-3 Finite State Machine (reader side) + * + * (C) 2019 by Harald Welte + * + * inspired by earlier work + * (C) 2016-2017 by Harald Welte + * (C) 2018 by sysmocom -s.f.m.c. GmbH, Author: Kevin Redon + * + * 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 +#include +#include + +#include "logging.h" +#include "cuart.h" +#include "iso7816_fsm.h" + +/* Section 8.2: the Answer-to-Reset (... a string of at most 32 bytes) */ +#define MAX_ATR_SIZE 32 + +#define S(x) (1 << (x)) + +/*! ISO 7816-3 states */ +enum iso7816_3_state { + ISO7816_S_RESET, /*!< in Reset */ + ISO7816_S_WAIT_ATR, /*!< waiting for ATR to start */ + ISO7816_S_IN_ATR, /*!< while we are receiving the ATR */ + ISO7816_S_WAIT_TPDU, /*!< waiting for start of new TPDU */ + ISO7816_S_IN_TPDU, /*!< inside a single TPDU */ + ISO7816_S_IN_PPS_REQ, /*!< while we are inside the PPS request */ + ISO7816_S_WAIT_PPS_RSP, /*!< waiting for start of the PPS response */ + ISO7816_S_IN_PPS_RSP, /*!< while we are inside the PPS request */ +}; + +/*! Answer-To-Reset (ATR) sub-states of ISO7816_S_IN_ATR + * @note defined in ISO/IEC 7816-3:2006(E) section 8 + */ +enum atr_state { + ATR_S_WAIT_TS, /*!< initial byte */ + ATR_S_WAIT_T0, /*!< format byte */ + ATR_S_WAIT_TA, /*!< first sub-group interface byte */ + ATR_S_WAIT_TB, /*!< second sub-group interface byte */ + ATR_S_WAIT_TC, /*!< third sub-group interface byte */ + ATR_S_WAIT_TD, /*!< fourth sub-group interface byte */ + ATR_S_WAIT_HIST, /*!< historical byte */ + ATR_S_WAIT_TCK, /*!< check byte */ + ATR_S_DONE +}; + +/*! Protocol and Parameters Selection (PPS) sub-states of ISO7816_S_IN_PTS_REQ/ISO7816_S_IN_PTS_RSP + * @note defined in ISO/IEC 7816-3:2006(E) section 9 + */ +enum pps_state { + PPS_S_WAIT_PPSS, /*!< initial byte */ + PPS_S_WAIT_PPS0, /*!< format byte */ + PPS_S_WAIT_PPS1, /*!< first parameter byte */ + PPS_S_WAIT_PPS2, /*!< second parameter byte */ + PPS_S_WAIT_PPS3, /*!< third parameter byte */ + PPS_S_WAIT_PCK, /*!< check byte */ + PPS_S_WAIT_END, /*!< all done */ + PPS_S_DONE +}; + +/*! Transport Protocol Data Unit (TPDU) sub-states of ISO7816_S_IN_TPDU + * @note defined in ISO/IEC 7816-3:2006(E) section 10 and 12 + * @remark APDUs are formed by one or more command+response TPDUs + */ +enum tpdu_state { + TPDU_S_INIT, /*!< initial state */ + TPDU_S_TX_HDR, /*!< transmitting hdr, waiting for completion */ + TPDU_S_PROCEDURE, /*!< procedure byte (could also be SW1) */ + TPDU_S_TX_REMAINING, /*!< Tx remaining data bytes */ + TPDU_S_TX_SINGLE, /*!< Tx single data byte */ + TPDU_S_RX_REMAINING, /*!< Rx remaining data bytes */ + TPDU_S_RX_SINGLE, /*!< Rx single data byte */ + TPDU_S_SW1, /*!< first status word */ + TPDU_S_SW2, /*!< second status word */ + TPDU_S_DONE, +}; + +/* FSM timer enumeration */ +enum iso7816_3_timer { + T_WAIT_ATR = 1, + T_GUARD, +}; + +/* forward declarations */ +static struct osmo_fsm iso7816_3_fsm; +static struct osmo_fsm atr_fsm; +static struct osmo_fsm tpdu_fsm; +static struct osmo_fsm pps_fsm; + +/* look-up table for bit-wise inversion to convert from "inverse convention" to normal */ +static const uint8_t convention_convert_lut[256] = { + 0xff, 0x7f, 0xbf, 0x3f, 0xdf, 0x5f, 0x9f, 0x1f, 0xef, 0x6f, 0xaf, 0x2f, 0xcf, 0x4f, 0x8f, 0x0f, + 0xf7, 0x77, 0xb7, 0x37, 0xd7, 0x57, 0x97, 0x17, 0xe7, 0x67, 0xa7, 0x27, 0xc7, 0x47, 0x87, 0x07, + 0xfb, 0x7b, 0xbb, 0x3b, 0xdb, 0x5b, 0x9b, 0x1b, 0xeb, 0x6b, 0xab, 0x2b, 0xcb, 0x4b, 0x8b, 0x0b, + 0xf3, 0x73, 0xb3, 0x33, 0xd3, 0x53, 0x93, 0x13, 0xe3, 0x63, 0xa3, 0x23, 0xc3, 0x43, 0x83, 0x03, + 0xfd, 0x7d, 0xbd, 0x3d, 0xdd, 0x5d, 0x9d, 0x1d, 0xed, 0x6d, 0xad, 0x2d, 0xcd, 0x4d, 0x8d, 0x0d, + 0xf5, 0x75, 0xb5, 0x35, 0xd5, 0x55, 0x95, 0x15, 0xe5, 0x65, 0xa5, 0x25, 0xc5, 0x45, 0x85, 0x05, + 0xf9, 0x79, 0xb9, 0x39, 0xd9, 0x59, 0x99, 0x19, 0xe9, 0x69, 0xa9, 0x29, 0xc9, 0x49, 0x89, 0x09, + 0xf1, 0x71, 0xb1, 0x31, 0xd1, 0x51, 0x91, 0x11, 0xe1, 0x61, 0xa1, 0x21, 0xc1, 0x41, 0x81, 0x01, + 0xfe, 0x7e, 0xbe, 0x3e, 0xde, 0x5e, 0x9e, 0x1e, 0xee, 0x6e, 0xae, 0x2e, 0xce, 0x4e, 0x8e, 0x0e, + 0xf6, 0x76, 0xb6, 0x36, 0xd6, 0x56, 0x96, 0x16, 0xe6, 0x66, 0xa6, 0x26, 0xc6, 0x46, 0x86, 0x06, + 0xfa, 0x7a, 0xba, 0x3a, 0xda, 0x5a, 0x9a, 0x1a, 0xea, 0x6a, 0xaa, 0x2a, 0xca, 0x4a, 0x8a, 0x0a, + 0xf2, 0x72, 0xb2, 0x32, 0xd2, 0x52, 0x92, 0x12, 0xe2, 0x62, 0xa2, 0x22, 0xc2, 0x42, 0x82, 0x02, + 0xfc, 0x7c, 0xbc, 0x3c, 0xdc, 0x5c, 0x9c, 0x1c, 0xec, 0x6c, 0xac, 0x2c, 0xcc, 0x4c, 0x8c, 0x0c, + 0xf4, 0x74, 0xb4, 0x34, 0xd4, 0x54, 0x94, 0x14, 0xe4, 0x64, 0xa4, 0x24, 0xc4, 0x44, 0x84, 0x04, + 0xf8, 0x78, 0xb8, 0x38, 0xd8, 0x58, 0x98, 0x18, 0xe8, 0x68, 0xa8, 0x28, 0xc8, 0x48, 0x88, 0x08, + 0xf0, 0x70, 0xb0, 0x30, 0xd0, 0x50, 0x90, 0x10, 0xe0, 0x60, 0xa0, 0x20, 0xc0, 0x40, 0x80, 0x00, +}; + +/*********************************************************************** + * ISO7816-3 Main FSM + ***********************************************************************/ + +static const struct value_string iso7816_3_event_names[] = { + { ISO7816_E_RX_SINGLE, "UART_RX_SINGLE" }, + { ISO7816_E_RX_COMPL, "UART_RX_COMPL" }, + { ISO7816_E_TX_COMPL, "UART_TX_COMPL" }, + { ISO7816_E_POWER_UP_IND, "POWER_UP_IND" }, + { ISO7816_E_RESET_REL_IND, "RESET_REL_IND" }, + { ISO7816_E_RX_ERR_IND, "RX_ERR_IND" }, + { ISO7816_E_TX_ERR_IND, "TX_ERR_IND" }, + { ISO7816_E_ATR_DONE_IND, "ATR_DONE_IND" }, + { ISO7816_E_TPDU_DONE_IND, "TPDU_DONE_IND" }, + { ISO7816_E_XCEIVE_TPDU_CMD, "XCEIVE_TPDU_CMD" }, + /* allstate events */ + { ISO7816_E_WTIME_EXP, "WAIT_TIME_EXP" }, + { ISO7816_E_HW_ERR_IND, "HW_ERR_IND" }, + { ISO7816_E_SW_ERR_IND, "SW_ERR_IND" }, + { ISO7816_E_CARD_REMOVAL, "CARD_REMOVAL" }, + { ISO7816_E_POWER_DN_IND, "POWER_DN_IND" }, + { ISO7816_E_RESET_ACT_IND, "RESET_ACT_IND" }, + { ISO7816_E_ABORT_REQ, "ABORT_REQ" }, + { ISO7816_E_TPDU_CLEAR_REQ, "TPDU_CLEAR_REQ" }, + { 0, NULL } +}; + +struct iso7816_3_priv { + uint8_t slot_nr; + /* child FSM instances */ + struct osmo_fsm_inst *atr_fi; + struct osmo_fsm_inst *pps_fi; + struct osmo_fsm_inst *tpdu_fi; + /* other data */ + bool convention_convert;/*!< If convention conversion is needed */ + uint16_t guard_time_ms; + /* underlying UART */ + struct card_uart *uart; + iso7816_user_cb user_cb; + void *user_priv; +}; + +/* type-safe method to obtain iso7816_3_priv from fi */ +static struct iso7816_3_priv *get_iso7816_3_priv(struct osmo_fsm_inst *fi) +{ + OSMO_ASSERT(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + return (struct iso7816_3_priv *) fi->priv; +} + +/* convert from clock cycles of the CLK line to milli-seconds */ +uint32_t fi_cycles2ms(struct osmo_fsm_inst *fi, uint32_t cyclces) +{ + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + /* FIXME */ + return 1000; +} + +/* card UART notifies us: dispatch to (main ISO7816-3) FSM */ +static void tpdu_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data) +{ + struct osmo_fsm_inst *fi = (struct osmo_fsm_inst *) cuart->priv; + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + LOGPFSML(fi, LOGL_DEBUG, "UART Notification '%s'\n", + get_value_string(card_uart_event_vals, evt)); + + /* FIXME: Set only flags here; Main loop polls flags and dispatches events */ + + switch (evt) { + case CUART_E_RX_SINGLE: + osmo_fsm_inst_dispatch(fi, ISO7816_E_RX_SINGLE, data); + break; + case CUART_E_RX_COMPLETE: + osmo_fsm_inst_dispatch(fi, ISO7816_E_RX_COMPL, data); + break; + case CUART_E_RX_TIMEOUT: + osmo_fsm_inst_dispatch(fi, ISO7816_E_WTIME_EXP, data); + break; + case CUART_E_TX_COMPLETE: + osmo_fsm_inst_dispatch(fi, ISO7816_E_TX_COMPL, data); + break; + } +} + +static void iso7816_3_reset_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + /* go back to initial state in child FSMs */ + osmo_fsm_inst_state_chg(ip->atr_fi, ATR_S_WAIT_TS, 0, 0); + //osmo_fsm_inst_state_chg(ip->pps_fi, PPS_S_WAIT_PPSS, 0, 0); + osmo_fsm_inst_state_chg(ip->tpdu_fi, TPDU_S_INIT, 0, 0); +} + +static void iso7816_3_reset_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RESET_REL_IND: + /* TOOD: this should happen before reset is released */ + card_uart_ctrl(ip->uart, CUART_CTL_RX, true); + osmo_fsm_inst_state_chg_ms(fi, ISO7816_S_WAIT_ATR, + fi_cycles2ms(fi, 40000), T_WAIT_ATR); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_wait_atr_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RX_SINGLE: + osmo_fsm_inst_state_chg(fi, ISO7816_S_IN_ATR, 0, 0); + osmo_fsm_inst_dispatch(ip->atr_fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_in_atr_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + struct msgb *atr; + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RX_SINGLE: + case ISO7816_E_RX_ERR_IND: + /* simply pass this through to the child FSM for the ATR */ + osmo_fsm_inst_dispatch(ip->atr_fi, event, data); + break; + case ISO7816_E_ATR_DONE_IND: + atr = data; + /* FIXME: verify ATR result: success / failure */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_WAIT_TPDU, 0, 0); + /* notify user about ATR */ + ip->user_cb(fi, event, 0, atr); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_wait_tpdu_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + /* reset the TPDU state machine */ + osmo_fsm_inst_dispatch(ip->tpdu_fi, ISO7816_E_TPDU_CLEAR_REQ, NULL); +} + +static void iso7816_3_wait_tpdu_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_XCEIVE_TPDU_CMD: + /* "data" contains a msgb-wrapped TPDU */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_IN_TPDU, 0, 0); + /* pass on to sub-fsm */ + osmo_fsm_inst_dispatch(ip->tpdu_fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_in_tpdu_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + struct msgb *apdu; + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RX_SINGLE: + case ISO7816_E_RX_COMPL: + case ISO7816_E_RX_ERR_IND: + case ISO7816_E_TX_COMPL: + case ISO7816_E_TX_ERR_IND: + /* simply pass this through to the child FSM for the ATR */ + osmo_fsm_inst_dispatch(ip->tpdu_fi, event, data); + break; + case ISO7816_E_TPDU_DONE_IND: + apdu = data; + osmo_fsm_inst_state_chg(fi, ISO7816_S_WAIT_TPDU, 0, 0); + /* hand finished TPDU to user */ + ip->user_cb(fi, event, 0, apdu); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_WTIME_EXP: + case ISO7816_E_HW_ERR_IND: + case ISO7816_E_CARD_REMOVAL: + /* FIXME: power off? */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; + case ISO7816_E_POWER_DN_IND: + case ISO7816_E_RESET_ACT_IND: + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; + case ISO7816_E_ABORT_REQ: + /* FIXME */ + break; + default: + OSMO_ASSERT(0); + break; + } +} + +static const struct osmo_fsm_state iso7816_3_states[] = { + [ISO7816_S_RESET] = { + .name = "RESET", + .in_event_mask = S(ISO7816_E_RESET_REL_IND), + .out_state_mask = S(ISO7816_S_WAIT_ATR) | + S(ISO7816_S_RESET), + .action = iso7816_3_reset_action, + .onenter = iso7816_3_reset_onenter, + }, + [ISO7816_S_WAIT_ATR] = { + .name = "WAIT_ATR", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_IN_ATR), + .action = iso7816_3_wait_atr_action, + }, + [ISO7816_S_IN_ATR] = { + .name = "IN_ATR", + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_RX_ERR_IND) | + S(ISO7816_E_ATR_DONE_IND), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_IN_ATR) | + S(ISO7816_S_WAIT_TPDU), + .action = iso7816_3_in_atr_action, + }, + [ISO7816_S_WAIT_TPDU] = { + .name = "WAIT_TPDU", + .in_event_mask = S(ISO7816_E_XCEIVE_TPDU_CMD), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_TPDU) | + S(ISO7816_S_IN_PPS_REQ), + .action = iso7816_3_wait_tpdu_action, + .onenter = iso7816_3_wait_tpdu_onenter, + }, + [ISO7816_S_IN_TPDU] = { + .name = "IN_TPDU", + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_RX_COMPL) | + S(ISO7816_E_TX_COMPL) | + S(ISO7816_E_RX_ERR_IND) | + S(ISO7816_E_TX_ERR_IND) | + S(ISO7816_E_TPDU_DONE_IND), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_TPDU), + .action = iso7816_3_in_tpdu_action, + }, + [ISO7816_S_IN_PPS_REQ] = { + .name = "IN_PPS_REQ", + .in_event_mask = 0, /* FIXME */ + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_PPS_REQ) | + S(ISO7816_S_WAIT_PPS_RSP), + }, + [ISO7816_S_WAIT_PPS_RSP] = { + .name = "WAIT_PPS_RESP", + .in_event_mask = 0, /* FIXME */ + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_WAIT_PPS_RSP) | + S(ISO7816_S_IN_PPS_RSP), + }, + [ISO7816_S_IN_PPS_RSP] = { + .name = "IN_PPS_RESP", + .in_event_mask = 0, /* FIXME */ + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_PPS_RSP), + }, +}; +static struct osmo_fsm iso7816_3_fsm = { + .name = "ISO7816-3", + .states = iso7816_3_states, + .num_states = ARRAY_SIZE(iso7816_3_states), + .log_subsys = DISO7816, + .event_names = iso7816_3_event_names, + .allstate_action = iso7816_3_allstate_action, + .allstate_event_mask = S(ISO7816_E_WTIME_EXP) | + S(ISO7816_E_CARD_REMOVAL) | + S(ISO7816_E_POWER_DN_IND) | + S(ISO7816_E_RESET_ACT_IND) | + S(ISO7816_E_HW_ERR_IND) | + S(ISO7816_E_ABORT_REQ), +}; + +/*********************************************************************** + * ATR FSM + ***********************************************************************/ + +struct atr_fsm_priv { + uint8_t hist_len; /*!< store the number of expected historical bytes */ + uint8_t y; /*!< last mask of the upcoming TA, TB, TC, TD interface bytes */ + uint8_t i; /*!< interface byte subgroup number */ + struct msgb *atr; /*!< ATR data */ + uint8_t computed_checksum; + uint16_t protocol_support; +}; + +/* obtain the [software] guard time in milli-seconds from the atr fsm_inst */ +static uint32_t atr_fi_gt_ms(struct osmo_fsm_inst *fi) +{ + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip; + + OSMO_ASSERT(fi->fsm == &atr_fsm); + OSMO_ASSERT(parent_fi); + ip = get_iso7816_3_priv(parent_fi); + + return ip->guard_time_ms; +} + +/* obtain the 'byte' parmeter of an ISO7816_E_RX event */ +static uint8_t get_rx_byte_evt(struct osmo_fsm_inst *fi, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + uint8_t byte = *(uint8_t *)data; + + /* apply inverse convention */ + if (ip->convention_convert) + byte = convention_convert_lut[byte]; + + return byte; +} + +/* append a single byte to the ATR */ +static int atr_append_byte(struct osmo_fsm_inst *fi, uint8_t byte) +{ + struct atr_fsm_priv *atp = fi->priv; + + if (!msgb_tailroom(atp->atr)) { + LOGPFSML(fi, LOGL_ERROR, "ATR overflow !?!"); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_SW_ERR_IND, NULL); + return -1; + } + msgb_put_u8(atp->atr, byte); + return 0; +} + +static void atr_wait_ts_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct atr_fsm_priv *atp = fi->priv; + + /* reset state to its initial value */ + atp->hist_len = 0; + atp->y = 0; + atp->i = 0; + if (!atp->atr) + atp->atr = msgb_alloc_c(fi, 33, "ATR"); /* TS + 32 chars */ + else + msgb_reset(atp->atr); + atp->computed_checksum = 0; + atp->protocol_support = 0; +} + +static void atr_wait_ts_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct atr_fsm_priv *atp = fi->priv; + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + OSMO_ASSERT(msgb_length(atp->atr) == 0); +restart: + byte = get_rx_byte_evt(parent_fi, data); + LOGPFSML(fi, LOGL_DEBUG, "RX byte '%02x'\n", byte); + switch (byte) { + case 0x23: + /* direct convention used, but decoded using inverse + * convention (a parity error should also have occurred) */ + /* fall-through */ + case 0x30: + /* inverse convention used, but decoded using direct + * convention (a parity error should also have occurred) */ + ip->convention_convert = !ip->convention_convert; + goto restart; + break; + case 0x3b: /* direct convention used and correctly decoded */ + /* fall-through */ + case 0x3f: /* inverse convention used and correctly decoded */ + atr_append_byte(fi, byte); + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_T0, atr_fi_gt_ms(fi), T_GUARD); + break; + default: + LOGPFSML(fi, LOGL_ERROR, "Invalid TS received: 0x%02X\n", byte); + /* FIXME: somehow indiicate to user */ + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_SW_ERR_IND, NULL); + break; + } + atp->i = 0; /* first interface byte sub-group is coming (T0 is kind of TD0) */ + break; + default: + OSMO_ASSERT(0); + } +} + +static void atr_wait_tX_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct atr_fsm_priv *atp = fi->priv; + uint32_t guard_time_ms = atr_fi_gt_ms(fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "RX byte '%02x'\n", byte); + atr_append_byte(fi, byte); + switch (fi->state) { + case ATR_S_WAIT_T0: /* see ISO/IEC 7816-3:2006 section 8.2.2 */ + case ATR_S_WAIT_TD: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (fi->state == ATR_S_WAIT_T0) { + /* save number of hist. bytes */ + atp->hist_len = (byte & 0x0f); + } else { + /* remember supported protocol to know if TCK will be present */ + atp->protocol_support |= (1<<(byte & 0x0f)); + } + atp->y = (byte & 0xf0); /* remember incoming interface bytes */ + atp->i++; + if (atp->y & 0x10) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TA, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_TA: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (atp->y & 0x20) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TB, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_TB: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (atp->y & 0x40) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TC, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_TC: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (atp->y & 0x80) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TD, guard_time_ms, T_GUARD); + break; + } else if (atp->hist_len) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_HIST, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_HIST: /* see ISO/IEC 7816-3:2006 section 8.2.4 */ + if (atp->hist_len) + atp->hist_len--; + if (atp->hist_len == 0) { + if (atp->protocol_support > 1) { + /* wait for check byte */ + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TCK, + guard_time_ms, T_GUARD); + break; + } + } else { + break; + } + /* fall-through */ + case ATR_S_WAIT_TCK: /* see ISO/IEC 7816-3:2006 section 8.2.5 */ + /* verify checksum if present */ + if (fi->state == ATR_S_WAIT_TCK) { + uint8_t ui; + uint8_t *atr = msgb_data(atp->atr); + LOGPFSML(fi, LOGL_INFO, "Complete ATR: %s\n", msgb_hexdump(atp->atr)); + for (ui = 1; ui < msgb_length(atp->atr)-1; ui++) { + atp->computed_checksum ^= atr[ui]; + } + if (atp->computed_checksum != byte) { + /* checkum error. report to user? */ + LOGPFSML(fi, LOGL_ERROR, + "computed checksum %02x doesn't match TCK=%02x\n", + atp->computed_checksum, byte); + } + /* ATR complete; notify parent */ + osmo_fsm_inst_state_chg(fi, ATR_S_DONE, 0, 0); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_DONE_IND, atp->atr); + } + break; + default: + OSMO_ASSERT(0); + } + break; + default: + OSMO_ASSERT(0); + } +} + +static const struct osmo_fsm_state atr_states[] = { + [ATR_S_WAIT_TS] = { + .name = "WAIT_TS", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_T0), + .action = atr_wait_ts_action, + .onenter = atr_wait_ts_onenter, + }, + [ATR_S_WAIT_T0] = { + .name = "WAIT_T0", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TA) | + S(ATR_S_WAIT_TB) | + S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TA] = { + .name = "WAIT_TA", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TB) | + S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TB] = { + .name = "WAIT_TB", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TC] = { + .name = "WAIT_TC", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TD] = { + .name = "WAIT_TD", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TA) | + S(ATR_S_WAIT_TB) | + S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_HIST] = { + .name = "WAIT_HIST", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TCK] = { + .name = "WAIT_TCK", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_DONE), + .action = atr_wait_tX_action, + }, + [ATR_S_DONE] = { + .name = "DONE", + .in_event_mask = 0, + .out_state_mask = S(ATR_S_WAIT_T0), + //.action = atr_done_action, + }, + +}; +static struct osmo_fsm atr_fsm = { + .name = "ATR", + .states = atr_states, + .num_states = ARRAY_SIZE(atr_states), + .log_subsys = DATR, + .event_names = iso7816_3_event_names, +}; + +/*********************************************************************** + * PPS FSM + ***********************************************************************/ + +static const struct osmo_fsm_state pps_states[] = { + [PPS_S_WAIT_PPSS] = { + .name = "WAIT_PPSS", + }, + [PPS_S_WAIT_PPS0] = { + .name = "WAIT_PPS0", + }, + [PPS_S_WAIT_PPS1] = { + .name = "WAIT_PPS1", + }, + [PPS_S_WAIT_PPS2] = { + .name = "WAIT_PPS2", + }, + [PPS_S_WAIT_PPS3] = { + .name = "WAIT_PPS3", + }, + [PPS_S_WAIT_PCK] = { + .name = "WAIT_PCK", + }, + [PPS_S_WAIT_END] = { + .name = "WAIT_END", + }, +}; + +static struct osmo_fsm pps_fsm = { + .name = "PPS", + .states = pps_states, + .num_states = ARRAY_SIZE(pps_states), + .log_subsys = DPPS, + .event_names = iso7816_3_event_names, +}; + +/*********************************************************************** + * TPDU FSM + ***********************************************************************/ + +struct tpdu_fsm_priv { + struct msgb *tpdu; +}; + +/* type-safe method to obtain iso7816_3_priv from fi */ +static struct tpdu_fsm_priv *get_tpdu_fsm_priv(struct osmo_fsm_inst *fi) +{ + OSMO_ASSERT(fi); + OSMO_ASSERT(fi->fsm == &tpdu_fsm); + return (struct tpdu_fsm_priv *) fi->priv; +} + + +static void tpdu_s_init_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + struct osim_apdu_cmd_hdr *tpduh; + + switch (event) { + case ISO7816_E_XCEIVE_TPDU_CMD: + /* start transmission of a TPDU by sending the 5-byte header */ + tfp->tpdu = (struct msgb *)data; + OSMO_ASSERT(msgb_length(tfp->tpdu) >= sizeof(*tpduh)); + tfp->tpdu->l2h = msgb_data(tfp->tpdu) + sizeof(*tpduh); + tpduh = msgb_data(tfp->tpdu); + LOGPFSML(fi, LOGL_DEBUG, "Transmitting TPDU header %s via UART\n", + osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); + osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); + card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh), true); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_s_tx_hdr_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(fi->fsm == &tpdu_fsm); + switch (event) { + case ISO7816_E_TX_COMPL: + /* Rx of single byte is already enabled by previous card_uart_tx() call */ + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + + + +static void tpdu_s_procedure_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + if (byte == 0x60) { + /* NULL: wait for another procedure byte */ + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + } else if ((byte >= 0x60 && byte <= 0x6f) || (byte >= 0x90 && byte <= 0x9f)) { + //msgb_apdu_sw(tfp->apdu) = byte << 8; + msgb_put(tfp->tpdu, byte); + /* receive second SW byte (SW2) */ + osmo_fsm_inst_state_chg(fi, TPDU_S_SW2, 0, 0); + break; + } else if (byte == tpduh->ins) { + if (msgb_l2len(tfp->tpdu)) { + /* transmit all remaining bytes */ + card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu), true); + osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); + } else { + card_uart_set_rx_threshold(ip->uart, tpduh->p3); + osmo_fsm_inst_state_chg(fi, TPDU_S_RX_REMAINING, 0, 0); + } + } else if (byte == (tpduh->ins ^ 0xFF)) { + osmo_panic("unsupported single-byte T=0 case"); + /* FIXME: transmit single byte then wait for proc */ + //osmo_fsm_inst_state_chg(fi, TPDU_S_xX_SINGLE, 0, 0); + //osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + } else + OSMO_ASSERT(0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is transmitting remaining data; we wait for ISO7816_E_TX_COMPL */ +static void tpdu_s_tx_remaining_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + + switch (event) { + case ISO7816_E_TX_COMPL: + card_uart_set_rx_threshold(ip->uart, 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is transmitting single byte of data; we wait for ISO7816_E_TX_COMPL */ +static void tpdu_s_tx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case ISO7816_E_TX_COMPL: + /* TODO: increase pointer/counter? */ + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is receiving remaining data; we wait for ISO7816_E_RX_COMPL */ +static void tpdu_s_rx_remaining_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + int rc; + + switch (event) { + case ISO7816_E_RX_COMPL: + /* retrieve pending byte(s) */ + rc = card_uart_rx(ip->uart, msgb_l2(tfp->tpdu), tpduh->p3); + if (rc != tpduh->p3) + LOGPFSML(fi, LOGL_ERROR, "expected %u bytes; read %d\n", tpduh->p3, rc); + card_uart_set_rx_threshold(ip->uart, 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is receiving single byte of data; we wait for ISO7816_E_RX_SINGLE */ +static void tpdu_s_rx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + /* TODO: record byte */ + /* FIXME: determine if number of expected bytes received */ + if (0) { + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); + } else + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_s_sw1_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + /* record byte */ + //msgb_apdu_sw(tfp->apdu) = byte << 8; + msgb_put_u8(tfp->tpdu, byte); + card_uart_set_rx_threshold(ip->uart, 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_SW2, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_s_sw2_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + /* record SW2 byte */ + //msgb_apdu_sw(tfp->apdu) &= 0xFF00; + //msgb_apdu_sw(tfp->apdu) |= byte; + msgb_put_u8(tfp->tpdu, byte); + osmo_fsm_inst_state_chg(fi, TPDU_S_DONE, 0, 0); + /* Notify parent FSM */ + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_TPDU_DONE_IND, tfp->tpdu); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(fi->fsm == &tpdu_fsm); + + switch (event) { + case ISO7816_E_RX_ERR_IND: + case ISO7816_E_TX_ERR_IND: + /* FIXME: handle this in some different way */ + osmo_fsm_inst_state_chg(fi, TPDU_S_DONE, 0, 0); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_TPDU_DONE_IND, NULL); + break; + case ISO7816_E_TPDU_CLEAR_REQ: + osmo_fsm_inst_state_chg(fi, TPDU_S_INIT, 0, 0); + break; + } +} + +static const struct osmo_fsm_state tpdu_states[] = { + [TPDU_S_INIT] = { + .name = "INIT", + .in_event_mask = S(ISO7816_E_XCEIVE_TPDU_CMD) | + S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_TX_HDR), + .action = tpdu_s_init_action, + }, + [TPDU_S_TX_HDR] = { + .name = "TX_HDR", + .in_event_mask = S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE), + .action = tpdu_s_tx_hdr_action, + }, + [TPDU_S_PROCEDURE] = { + .name = "PROCEDURE", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE) | + S(TPDU_S_RX_REMAINING) | + S(TPDU_S_RX_SINGLE) | + S(TPDU_S_TX_REMAINING) | + S(TPDU_S_TX_SINGLE) | + S(TPDU_S_SW2), + .action = tpdu_s_procedure_action, + }, + [TPDU_S_TX_REMAINING] = { + .name = "TX_REMAINING", + .in_event_mask = S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_SW1), + .action = tpdu_s_tx_remaining_action, + }, + [TPDU_S_TX_SINGLE] = { + .name = "TX_SINGLE", + .in_event_mask = S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE), + .action = tpdu_s_tx_single_action, + }, + [TPDU_S_RX_REMAINING] = { + .name = "RX_REMAINING", + .in_event_mask = S(ISO7816_E_RX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_SW1), + .action = tpdu_s_rx_remaining_action, + }, + [TPDU_S_RX_SINGLE] = { + .name = "RX_SINGLE", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE), + .action = tpdu_s_rx_single_action, + }, + [TPDU_S_SW1] = { + .name = "SW1", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_SW2), + .action = tpdu_s_sw1_action, + }, + [TPDU_S_SW2] = { + .name = "SW2", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_DONE), + .action = tpdu_s_sw2_action, + }, + [TPDU_S_DONE] = { + .name = "DONE", + .in_event_mask = 0, + .out_state_mask = S(TPDU_S_INIT), + .action = NULL, + }, +}; +static struct osmo_fsm tpdu_fsm = { + .name = "TPDU", + .states = tpdu_states, + .num_states = ARRAY_SIZE(tpdu_states), + .allstate_event_mask = S(ISO7816_E_RX_ERR_IND) | + S(ISO7816_E_TX_ERR_IND) | + S(ISO7816_E_TPDU_CLEAR_REQ), + .allstate_action = tpdu_allstate_action, + .log_subsys = DTPDU, + .event_names = iso7816_3_event_names, +}; + +struct osmo_fsm_inst *iso7816_fsm_alloc(void *ctx, int log_level, const char *id, + struct card_uart *cuart, iso7816_user_cb user_cb, + void *user_priv) +{ + struct iso7816_3_priv *ip; + struct osmo_fsm_inst *fi; + + fi = osmo_fsm_inst_alloc(&iso7816_3_fsm, ctx, NULL, log_level, id); + ip = talloc_zero(fi, struct iso7816_3_priv); + if (!ip) + goto out_fi; + fi->priv = ip; + + ip->uart = cuart; + cuart->priv = fi; + cuart->handle_event = tpdu_uart_notification; + + ip->user_cb = user_cb; + ip->user_priv = user_priv; + + ip->atr_fi = osmo_fsm_inst_alloc_child(&atr_fsm, fi, ISO7816_E_SW_ERR_IND); + if (!ip->atr_fi) + goto out_fi; + ip->atr_fi->priv = talloc_zero(ip->atr_fi, struct atr_fsm_priv); + if (!ip->atr_fi->priv) + goto out_atr; + + ip->tpdu_fi = osmo_fsm_inst_alloc_child(&tpdu_fsm, fi, ISO7816_E_SW_ERR_IND); + if (!ip->tpdu_fi) + goto out_atr; + ip->tpdu_fi->priv = talloc_zero(ip->tpdu_fi, struct tpdu_fsm_priv); + if (!ip->tpdu_fi->priv) + goto out_tpdu; + +#if 0 + ip->pps_fi = osmo_fsm_inst_alloc_child(&pps_fsm, fi, ISO7816_E_SW_ERR_IND); + if (!ip->pps_fi) + goto out_tpdu; + ip->pps_fi->priv = talloc_zero(ip->pps_fi, struct pps_fsm_priv); + if (!ip->pps_fi->priv) + goto out_pps; +#endif + + /* This ensures the 'onenter' function of the initial state is called */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + + return fi; + +#if 0 +out_pps: + osmo_fsm_inst_free(ip->pps_fi); +#endif +out_tpdu: + osmo_fsm_inst_free(ip->tpdu_fi); +out_atr: + osmo_fsm_inst_free(ip->atr_fi); +out_fi: + osmo_fsm_inst_free(fi); + cuart->priv = NULL; + return NULL; +} + +void *iso7816_fsm_get_user_priv(struct osmo_fsm_inst *fi) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + return ip->user_priv; +} + + +static __attribute__((constructor)) void on_dso_load_iso7816(void) +{ + osmo_fsm_register(&iso7816_3_fsm); + osmo_fsm_register(&atr_fsm); + osmo_fsm_register(&tpdu_fsm); + osmo_fsm_register(&pps_fsm); +} diff --git a/ccid/iso7816_fsm.h b/ccid/iso7816_fsm.h new file mode 100644 index 0000000..9a6b24e --- /dev/null +++ b/ccid/iso7816_fsm.h @@ -0,0 +1,40 @@ +#pragma once + +#include +struct card_uart; + +enum iso7816_3_event { + ISO7816_E_RX_SINGLE, /*!< single-byte data received on UART */ + ISO7816_E_RX_COMPL, /*!< data receive complete on UART */ + ISO7816_E_TX_COMPL, /*!< data transmit complete on UART */ + ISO7816_E_POWER_UP_IND, /*!< Card powered up */ + ISO7816_E_RESET_REL_IND, /*!< Reset released */ + ISO7816_E_RX_ERR_IND, /*!< Uncorrectable Rx [parity] error */ + ISO7816_E_TX_ERR_IND, /*!< Uncorrectable Rx [parity] error */ + ISO7816_E_XCEIVE_TPDU_CMD, /*!< Ask for start of TPDU transmission */ + /* allstate events */ + ISO7816_E_WTIME_EXP, /*!< WTIME expired */ + ISO7816_E_HW_ERR_IND, /*!< Hardware error (overcurrent, ...) */ + ISO7816_E_SW_ERR_IND, /*!< Software error */ + ISO7816_E_CARD_REMOVAL, /*!< card has been removed from slot */ + ISO7816_E_POWER_DN_IND, /*!< Card powered down */ + ISO7816_E_RESET_ACT_IND, /*!< Reset activated */ + ISO7816_E_ABORT_REQ, /*!< Abort request (e.g. from CCID) */ + /* TODO: PPS request */ + /* TODO: Clock stop request */ + /* TODO: Rx FIFO overrun */ + /* TODO: Rx buffer overrun */ + + /* internal events between FSMs in this file */ + ISO7816_E_ATR_DONE_IND, /*!< ATR Done indication from ATR child FSM */ + ISO7816_E_TPDU_DONE_IND, /*!< TPDU Done indication from TPDU child FSM */ + ISO7816_E_TPDU_CLEAR_REQ, /*!< Return TPDU FSM to TPDU_S_INIT */ +}; + +typedef void (*iso7816_user_cb)(struct osmo_fsm_inst *fi, int event, int cause, void *data); + +struct osmo_fsm_inst *iso7816_fsm_alloc(void *ctx, int log_level, const char *id, + struct card_uart *cuart, iso7816_user_cb user_cb, + void *ussr_priv); + +void *iso7816_fsm_get_user_priv(struct osmo_fsm_inst *fi); diff --git a/ccid/logging.c b/ccid/logging.c new file mode 100644 index 0000000..4e14815 --- /dev/null +++ b/ccid/logging.c @@ -0,0 +1,47 @@ +#include +#include +#include "logging.h" + +static const struct log_info_cat log_info_cat[] = { + [DUSB] = { + .name = "USB", + .description = "USB Transport", + .enabled = 1, + .loglevel = LOGL_NOTICE, + }, + [DCCID] = { + .name = "CCID", + .description = "USB-CCID Protocol", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DISO7816] = { + .name = "ISO7816", + .description = "ISO7816-3 State machines", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DATR] = { + .name = "ATR", + .description = "ATR (Answer To Reset) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DTPDU] = { + .name = "TPDU", + .description = "TPDU FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DPPS] = { + .name = "PPS", + .description = "PPS (Protocol and Parameter Selection) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, +}; + +const struct log_info log_info = { + .cat = log_info_cat, + .num_cat = ARRAY_SIZE(log_info_cat), +}; diff --git a/ccid/logging.h b/ccid/logging.h new file mode 100644 index 0000000..0a2d36a --- /dev/null +++ b/ccid/logging.h @@ -0,0 +1,13 @@ +#pragma once +#include + +enum { + DCCID, + DUSB, + DISO7816, + DATR, + DTPDU, + DPPS, +}; + +extern const struct log_info log_info; diff --git a/sysmoOCTSIM/libosmo_emb.c b/sysmoOCTSIM/libosmo_emb.c index b100560..1914568 100644 --- a/sysmoOCTSIM/libosmo_emb.c +++ b/sysmoOCTSIM/libosmo_emb.c @@ -46,8 +46,37 @@ }, [DCCID] = { .name = "CCID", - .description = "CCID Core", - .color = "\033[1;35m", + .description = "USB-CCID Protocol", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DISO7816] = { + .name = "ISO7816", + .description = "ISO7816-3 State machines", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DATR] = { + .name = "ATR", + .description = "ATR (Answer To Reset) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DTPDU] = { + .name = "TPDU", + .description = "TPDU FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DPPS] = { + .name = "PPS", + .description = "PPS (Protocol and Parameter Selection) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DCARD] = { + .name = "CARD", + .description = "Card FSM", .enabled = 1, .loglevel = LOGL_DEBUG, }, diff --git a/sysmoOCTSIM/logging.h b/sysmoOCTSIM/logging.h index 900f88e..487fd0d 100644 --- a/sysmoOCTSIM/logging.h +++ b/sysmoOCTSIM/logging.h @@ -3,6 +3,11 @@ #include enum { + DCCID, DUSB, - DCCID + DISO7816, + DATR, + DTPDU, + DPPS + DCARD, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15690 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: I0145b77e6165d36d33f18ef3a452f2c37913bd73 Gerrit-Change-Number: 15690 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 Oct 7 21:35:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:24 +0000 Subject: Change in ...osmo-ccid-firmware[master]: 'cuart' Card-UART abstraction + driver for simple serial reader Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 Change subject: 'cuart' Card-UART abstraction + driver for simple serial reader ...................................................................... 'cuart' Card-UART abstraction + driver for simple serial reader Change-Id: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d --- M ccid/Makefile A ccid/cuart.c A ccid/cuart.h A ccid/cuart_driver_tty.c A ccid/cuart_test.c A ccid/utils_ringbuffer.c A ccid/utils_ringbuffer.h 7 files changed, 833 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/91/15691/1 diff --git a/ccid/Makefile b/ccid/Makefile index 5f784ba..a0d6952 100644 --- a/ccid/Makefile +++ b/ccid/Makefile @@ -1,13 +1,18 @@ CFLAGS=-Wall -g +all: ccid_functionfs hub_functionfs cuart_test + ccid_functionfs: ccid_main_functionfs.o logging.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 +cuart_test: cuart_test.o cuart.o cuart_driver_tty.o utils_ringbuffer.o + $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc + %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ clean: - rm ccid_functionfs *.o + rm ccid_functionfs hub_functionfs cuart_test *.o diff --git a/ccid/cuart.c b/ccid/cuart.c new file mode 100644 index 0000000..2c0428e --- /dev/null +++ b/ccid/cuart.c @@ -0,0 +1,133 @@ +#include +#include +#include +#include + +#include "cuart.h" + +static LLIST_HEAD(g_cuart_drivers); + +const struct value_string card_uart_event_vals[] = { + OSMO_VALUE_STRING(CUART_E_RX_SINGLE), + OSMO_VALUE_STRING(CUART_E_RX_COMPLETE), + OSMO_VALUE_STRING(CUART_E_RX_TIMEOUT), + OSMO_VALUE_STRING(CUART_E_TX_COMPLETE), + { 0, NULL } +}; + +static struct card_uart_driver *cuart_drv_by_name(const char *driver_name) +{ + struct card_uart_driver *drv; + llist_for_each_entry(drv, &g_cuart_drivers, list) { + if (!strcmp(drv->name, driver_name)) + return drv; + } + return NULL; +} + +int card_uart_open(struct card_uart *cuart, const char *driver_name, const char *device_name) +{ + struct card_uart_driver *drv = cuart_drv_by_name(driver_name); + int rc; + + if (!drv) + return -ENODEV; + + cuart->rx_enabled = true; + cuart->rx_threshold = 1; + + rc = drv->ops->open(cuart, device_name); + if (rc < 0) + return rc; + + cuart->driver = drv; + return 0; +} + +int card_uart_close(struct card_uart *cuart) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->close); + return cuart->driver->ops->close(cuart); +} + +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +{ + int rc; + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->ctrl); + rc = cuart->driver->ops->ctrl(cuart, ctl, enable); + if (rc < 0) + return rc; + + switch (ctl) { + case CUART_CTL_RX: + cuart->rx_enabled = enable; + break; + default: + break; + } + + return rc; +} + +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->async_tx); + + OSMO_ASSERT(!cuart->tx_busy); + cuart->tx_busy = true; + /* disable receiver to avoid receiving what we transmit */ + card_uart_ctrl(cuart, CUART_CTL_RX, false); + + return cuart->driver->ops->async_tx(cuart, data, len, rx_after_complete); +} + +int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->async_rx); + return cuart->driver->ops->async_rx(cuart, data, len); +} + +void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold) +{ + cuart->rx_threshold = rx_threshold; +} + +void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->handle_event); + + switch (evt) { + case CUART_E_TX_COMPLETE: + cuart->tx_busy = false; + /* re-enable receiver if we're done with transmit */ + sleep(1); + card_uart_ctrl(cuart, CUART_CTL_RX, true); + break; + default: + break; + } + + cuart->handle_event(cuart, evt, data); +} + +int card_uart_driver_register(struct card_uart_driver *drv) +{ + OSMO_ASSERT(!cuart_drv_by_name(drv->name)); + OSMO_ASSERT(drv->name); + OSMO_ASSERT(drv->ops); + llist_add_tail(&drv->list, &g_cuart_drivers); + return 0; +} diff --git a/ccid/cuart.h b/ccid/cuart.h new file mode 100644 index 0000000..7e217db --- /dev/null +++ b/ccid/cuart.h @@ -0,0 +1,107 @@ +#pragma once +#include +#include +#include + +#include +#include "utils_ringbuffer.h" + +enum card_uart_event { + /* a single byte was received, it's present at the (uint8_t *) data location */ + CUART_E_RX_SINGLE, + /* an entire block of data was received */ + CUART_E_RX_COMPLETE, + CUART_E_RX_TIMEOUT, + /* an entire block of data was written, as instructed in prior card_uart_tx() call */ + CUART_E_TX_COMPLETE, +}; + +extern const struct value_string card_uart_event_vals[]; + +enum card_uart_ctl { + CUART_CTL_RX, + CUART_CTL_POWER, + CUART_CTL_CLOCK, + CUART_CTL_RST, +}; + +struct card_uart; + +struct card_uart_ops { + int (*open)(struct card_uart *cuart, const char *device_name); + int (*close)(struct card_uart *cuart); + int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); + int (*async_rx)(struct card_uart *cuart, uint8_t *data, size_t len); + + int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); +}; + +/* Card UART driver */ +struct card_uart_driver { + /* global list of card UART drivers */ + struct llist_head list; + /* human-readable name of driver */ + const char *name; + /* operations implementing the driver */ + const struct card_uart_ops *ops; +}; + +struct card_uart { + /* member in global list of UARTs */ + struct llist_head list; + /* driver serving this UART */ + const struct card_uart_driver *driver; + /* event-handler function */ + void (*handle_event)(struct card_uart *cuart, enum card_uart_event evt, void *data); + /* opaque pointer for user */ + void *priv; + + /* is the transmitter currently busy (true) or not (false)? */ + bool tx_busy; + /* is the receiver currently enabled or not? */ + bool rx_enabled; + + /*! after how many bytes should we notify the user? If this is '1', we will + * issue CUART_E_RX_SINGLE; if it is > 1, we will issue CUART_E_RX_COMPLETE */ + uint32_t rx_threshold; + + /* driver-specific private data */ + union { + struct { + /* ringbuffer on receive side */ + uint8_t rx_buf[256]; + struct ringbuffer rx_ringbuf; + + /* pointer to (user-allocated) transmit buffer and length */ + const uint8_t *tx_buf; + size_t tx_buf_len; + /* index: offset of next to be transmitted byte in tx_buf */ + size_t tx_index; + + struct osmo_fd ofd; + unsigned int baudrate; + } tty; + } u; +}; + +/*! Open the Card UART */ +int card_uart_open(struct card_uart *cuart, const char *driver_name, const char *device_name); + +/*! Close the Card UART */ +int card_uart_close(struct card_uart *cuart); + +/*! Schedule (asynchronous) transmit data via UART; optionally enable Rx after completion */ +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); + +/*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ +int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); + +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); + +/*! Set the Rx notification threshold in number of bytes received */ +void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold); + +void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data); + +int card_uart_driver_register(struct card_uart_driver *drv); + diff --git a/ccid/cuart_driver_tty.c b/ccid/cuart_driver_tty.c new file mode 100644 index 0000000..6bd2b52 --- /dev/null +++ b/ccid/cuart_driver_tty.c @@ -0,0 +1,287 @@ +/* Card (ICC) UART driver for simple serial readers attached to tty. + * This allows you to use the CCID core in Linux userspace against a serial reader */ + +#include +#include +#include +#include + +#include +#include +#include + +#include "cuart.h" +#include "utils_ringbuffer.h" + +/*********************************************************************** + * low-level helper routines + ***********************************************************************/ + +static int _init_uart(int fd) +{ + struct termios tio; + int rc; + + rc = tcgetattr(fd, &tio); + if (rc < 0) { + perror("tcgetattr()"); + return -EIO; + } + + tio.c_iflag = 0; + tio.c_oflag = 0; + tio.c_lflag = 0; + tio.c_cflag = CREAD | CLOCAL | CSTOPB | PARENB | CS8 | B9600; + + rc = tcsetattr(fd, TCSANOW, &tio); + if (rc < 0) { + perror("tcsetattr()"); + return -EIO; + } + + return 0; +} + +static void _set_dtr(int fd, bool dtr) +{ + int status, rc; + + rc = ioctl(fd, TIOCMGET, &status); + OSMO_ASSERT(rc == 0); + if (dtr) /* set DTR */ + status |= TIOCM_DTR; + else + status &= ~TIOCM_DTR; + rc = ioctl(fd, TIOCMSET, &status); + OSMO_ASSERT(rc == 0); +} + +static void _set_rts(int fd, bool rts) +{ + int status, rc; + + rc = ioctl(fd, TIOCMGET, &status); + OSMO_ASSERT(rc == 0); + if (rts) /* set RTS */ + status |= TIOCM_RTS; + else + status &= ~TIOCM_RTS; + rc = ioctl(fd, TIOCMSET, &status); + OSMO_ASSERT(rc == 0); +} + +static int read_timeout(int fd, uint8_t *out, size_t len, unsigned long timeout_ms) +{ + struct timeval tv = { .tv_sec = timeout_ms / 1000, .tv_usec = (timeout_ms % 1000) * 1000 }; + fd_set rd_set; + int rc; + + FD_ZERO(&rd_set); + FD_SET(fd, &rd_set); + rc = select(fd+1, &rd_set, NULL, NULL, &tv); + if (rc == 0) + return -ETIMEDOUT; + else if (rc < 0) + return rc; + + return read(fd, out, len); +} + +static int _flush(int fd) +{ +#if 0 + uint8_t buf[1]; + int rc; + + while (1) { + rc = read_timeout(fd, buf, sizeof(buf), 10); + if (rc == -ETIMEDOUT) + return 0; + else if (rc < 0) + return rc; + } +#else + return tcflush(fd, TCIFLUSH); +#endif +} + +/*********************************************************************** + * Interface with card_uart (cuart) core + ***********************************************************************/ + +/* forward-declaration */ +static struct card_uart_driver tty_uart_driver; +static int tty_uart_close(struct card_uart *cuart); + +static int tty_uart_fd_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct card_uart *cuart = (struct card_uart *) ofd->data; + uint8_t buf[256]; + int rc; + + if (what & OSMO_FD_READ) { + int i; + /* read any pending bytes and feed them into ring buffer */ + rc = read(ofd->fd, buf, sizeof(buf)); + OSMO_ASSERT(rc > 0); + for (i = 0; i < rc; i++) { + /* work-around for https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ + if (!cuart->rx_enabled) + continue; + + if (cuart->rx_threshold == 1) { + /* bypass ringbuffer and report byte directly */ + card_uart_notification(cuart, CUART_E_RX_SINGLE, &buf[i]); + } else { + /* go via ringbuffer and notify only after threshold */ + ringbuffer_put(&cuart->u.tty.rx_ringbuf, buf[i]); + if (ringbuffer_num(&cuart->u.tty.rx_ringbuf) >= cuart->rx_threshold) + card_uart_notification(cuart, CUART_E_RX_COMPLETE, NULL); + } + } + } + if (what & OSMO_FD_WRITE) { + unsigned int to_tx; + OSMO_ASSERT(cuart->u.tty.tx_buf_len > cuart->u.tty.tx_index); + /* push as many pending transmit bytes as possible */ + to_tx = cuart->u.tty.tx_buf_len - cuart->u.tty.tx_index; + rc = write(ofd->fd, cuart->u.tty.tx_buf + cuart->u.tty.tx_index, to_tx); + OSMO_ASSERT(rc > 0); + cuart->u.tty.tx_index += rc; + + /* if no more bytes to transmit, disable OSMO_FD_WRITE */ + if (cuart->u.tty.tx_index >= cuart->u.tty.tx_buf_len) { + ofd->when &= ~BSC_FD_WRITE; + /* ensure everything is written (tx queue/fifo drained) */ + tcdrain(cuart->u.tty.ofd.fd); + osmo_select_main(true); + cuart->tx_busy = false; + /* notify */ + card_uart_notification(cuart, CUART_E_TX_COMPLETE, (void *)cuart->u.tty.tx_buf); + } + } + return 0; +} + +static int tty_uart_open(struct card_uart *cuart, const char *device_name) +{ + int rc; + + rc = ringbuffer_init(&cuart->u.tty.rx_ringbuf, cuart->u.tty.rx_buf, sizeof(cuart->u.tty.rx_buf)); + if (rc < 0) + return rc; + + cuart->u.tty.ofd.fd = -1; + rc = osmo_serial_init(device_name, B9600); + if (rc < 0) + return rc; + + osmo_fd_setup(&cuart->u.tty.ofd, rc, BSC_FD_READ, tty_uart_fd_cb, cuart, 0); + cuart->u.tty.baudrate = B9600; + + rc = _init_uart(cuart->u.tty.ofd.fd); + if (rc < 0) { + tty_uart_close(cuart); + return rc; + } + + _flush(cuart->u.tty.ofd.fd); + + osmo_fd_register(&cuart->u.tty.ofd); + + return 0; +} + +static int tty_uart_close(struct card_uart *cuart) +{ + OSMO_ASSERT(cuart->driver == &tty_uart_driver); + if (cuart->u.tty.ofd.fd != -1) { + osmo_fd_unregister(&cuart->u.tty.ofd); + close(cuart->u.tty.ofd.fd); + cuart->u.tty.ofd.fd = -1; + } + return 0; +} + +static int tty_uart_async_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after) +{ + OSMO_ASSERT(cuart->driver == &tty_uart_driver); + + cuart->u.tty.tx_buf = data; + cuart->u.tty.tx_buf_len = len; + cuart->u.tty.tx_buf_len = len; + cuart->tx_busy = true; + cuart->u.tty.ofd.when |= OSMO_FD_WRITE; + + return 0; +} + +static int tty_uart_async_rx(struct card_uart *cuart, uint8_t *data, size_t len) +{ + int rc, i; + OSMO_ASSERT(cuart->driver == &tty_uart_driver); + + /* FIXME: actually do this asynchronously */ + for (i = 0; i < len; i++) { + rc = ringbuffer_get(&cuart->u.tty.rx_ringbuf, &data[i]); + if (rc < 0) + return i; + } + + return i; +} + +static int tty_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +{ + struct termios tio; + int rc; + + switch (ctl) { + case CUART_CTL_RX: + rc = tcgetattr(cuart->u.tty.ofd.fd, &tio); + if (rc < 0) { + perror("tcgetattr()"); + return -EIO; + } + /* We do our best here, but lots of [USB] serial drivers seem to ignore + * CREAD, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ + if (enable) + tio.c_cflag |= CREAD; + else + tio.c_cflag &= ~CREAD; + rc = tcsetattr(cuart->u.tty.ofd.fd, TCSANOW, &tio); + if (rc < 0) { + perror("tcsetattr()"); + return -EIO; + } + break; + case CUART_CTL_RST: + _set_rts(cuart->u.tty.ofd.fd, enable); + if (enable) + _flush(cuart->u.tty.ofd.fd); + break; + case CUART_CTL_POWER: + case CUART_CTL_CLOCK: + default: + return -EINVAL; + } + return 0; +} + +static const struct card_uart_ops tty_uart_ops = { + .open = tty_uart_open, + .close = tty_uart_close, + .async_tx = tty_uart_async_tx, + .async_rx = tty_uart_async_rx, + .ctrl = tty_uart_ctrl, +}; + +static struct card_uart_driver tty_uart_driver = { + .name = "tty", + .ops = &tty_uart_ops, +}; + +static __attribute__((constructor)) void on_dso_load_cuart_tty(void) +{ + card_uart_driver_register(&tty_uart_driver); +} diff --git a/ccid/cuart_test.c b/ccid/cuart_test.c new file mode 100644 index 0000000..aff9de7 --- /dev/null +++ b/ccid/cuart_test.c @@ -0,0 +1,76 @@ +#include +#include +#include +#include + +#include "cuart.h" + +static struct card_uart g_cuart; + + +static void handle_event(struct card_uart *cuart, enum card_uart_event evt, void *data) +{ + printf("Handle Event '%s'\n", get_value_string(card_uart_event_vals, evt)); + switch (evt) { + case CUART_E_RX_SINGLE: + printf("\t%02x\n", *(uint8_t *)data); + break; + } + +} + + +static int get_atr(uint8_t *atr, size_t max_len) +{ + int rc; + int i = 0; + + card_uart_ctrl(&g_cuart, CUART_CTL_RST, true); + usleep(100000); + card_uart_ctrl(&g_cuart, CUART_CTL_RST, false); + + sleep(1); + osmo_select_main(true); + + for (i = 0; i < max_len; i++) { + rc = card_uart_rx(&g_cuart, &atr[i], 1); + if (rc <= 0) + break; + } + + return i; +} + +static void test_apdu(void) +{ + const uint8_t select_mf[] = "\xa0\xa4\x04\x00\x02\x3f\x00"; + card_uart_tx(&g_cuart, select_mf, 5, true); + + osmo_select_main(true); + /* we should get an RX_SINGLE event here */ +} + + +int main(int argc, char **argv) +{ + uint8_t atr[64]; + int rc; + + g_cuart.handle_event = &handle_event; + rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + if (rc < 0) { + perror("opening UART"); + exit(1); + } + + rc = get_atr(atr, sizeof(atr)); + if (rc < 0) { + perror("getting ATR"); + exit(1); + } + printf("ATR: %s\n", osmo_hexdump(atr, rc)); + + test_apdu(); + + exit(0); +} diff --git a/ccid/utils_ringbuffer.c b/ccid/utils_ringbuffer.c new file mode 100644 index 0000000..49c273c --- /dev/null +++ b/ccid/utils_ringbuffer.c @@ -0,0 +1,109 @@ +/** + * \file + * + * \brief Ringbuffer functionality implementation. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ +#include +#include "utils_ringbuffer.h" + +/** + * \brief Ringbuffer init + */ +int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size) +{ + /* + * buf size must be aligned to power of 2 + */ + if ((size & (size - 1)) != 0) { + return -EINVAL; + } + + /* size - 1 is faster in calculation */ + rb->size = size - 1; + rb->read_index = 0; + rb->write_index = rb->read_index; + rb->buf = (uint8_t *)buf; + + return 0; +} + +/** + * \brief Get one byte from ringbuffer + * + */ +int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data) +{ + if (rb->write_index != rb->read_index) { + *data = rb->buf[rb->read_index & rb->size]; + rb->read_index++; + return 0; + } + + return -ENOENT; +} + +/** + * \brief Put one byte to ringbuffer + * + */ +int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data) +{ + rb->buf[rb->write_index & rb->size] = data; + + /* + * buffer full strategy: new data will overwrite the oldest data in + * the buffer + */ + if ((rb->write_index - rb->read_index) > rb->size) { + rb->read_index = rb->write_index - rb->size; + } + + rb->write_index++; + + return 0; +} + +/** + * \brief Return the element number of ringbuffer + */ +uint32_t ringbuffer_num(const struct ringbuffer *const rb) +{ + return rb->write_index - rb->read_index; +} + +/** + * \brief Flush ringbuffer + */ +uint32_t ringbuffer_flush(struct ringbuffer *const rb) +{ + rb->read_index = rb->write_index; + + return 0; +} diff --git a/ccid/utils_ringbuffer.h b/ccid/utils_ringbuffer.h new file mode 100644 index 0000000..07043a6 --- /dev/null +++ b/ccid/utils_ringbuffer.h @@ -0,0 +1,115 @@ +/** + * \file + * + * \brief Ringbuffer declaration. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ +#ifndef _UTILS_RINGBUFFER_H_INCLUDED +#define _UTILS_RINGBUFFER_H_INCLUDED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \addtogroup doc_driver_hal_utils_ringbuffer + * + * @{ + */ + +/** + * \brief Ring buffer element type + */ +struct ringbuffer { + uint8_t *buf; /** Buffer base address */ + uint32_t size; /** Buffer size */ + uint32_t read_index; /** Buffer read index */ + uint32_t write_index; /** Buffer write index */ +}; + +/** + * \brief Ring buffer init + * + * \param[in] rb The pointer to a ring buffer structure instance + * \param[in] buf Space to store the data + * \param[in] size The buffer length, must be aligned with power of 2 + * + * \return ERR_NONE on success, or an error code on failure. + */ +int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size); + +/** + * \brief Get one byte from ring buffer, the user needs to handle the concurrent + * access on buffer via put/get/flush + * + * \param[in] rb The pointer to a ring buffer structure instance + * \param[in] data One byte space to store the read data + * + * \return ERR_NONE on success, or an error code on failure. + */ +int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data); + +/** + * \brief Put one byte to ring buffer, the user needs to handle the concurrent access + * on buffer via put/get/flush + * + * \param[in] rb The pointer to a ring buffer structure instance + * \param[in] data One byte data to be put into ring buffer + * + * \return ERR_NONE on success, or an error code on failure. + */ +int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data); + +/** + * \brief Return the element number of ring buffer + * + * \param[in] rb The pointer to a ring buffer structure instance + * + * \return The number of elements in ring buffer [0, rb->size] + */ +uint32_t ringbuffer_num(const struct ringbuffer *const rb); + +/** + * \brief Flush ring buffer, the user needs to handle the concurrent access on buffer + * via put/get/flush + * + * \param[in] rb The pointer to a ring buffer structure instance + * + * \return ERR_NONE on success, or an error code on failure. + */ +uint32_t ringbuffer_flush(struct ringbuffer *const rb); + +/**@}*/ + +#ifdef __cplusplus +} +#endif +#endif /* _UTILS_RINGBUFFER_H_INCLUDED */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 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: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d Gerrit-Change-Number: 15691 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 Oct 7 21:35:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:24 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart_driver_tty: Work around linux kernel bug ignoring CREAD Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15692 Change subject: cuart_driver_tty: Work around linux kernel bug ignoring CREAD ...................................................................... cuart_driver_tty: Work around linux kernel bug ignoring CREAD Almost all linux USB serial drivers are ignoring CREAD and hence cannot disable the receiver hardware, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 We therefore have to receive every byte we transmit before notifying the user of transmit completion. Change-Id: Id3cca29f78ee5469a1142aaa1ff754cc0427ec93 --- M ccid/cuart.c M ccid/cuart.h M ccid/cuart_driver_tty.c M ccid/cuart_test.c 4 files changed, 24 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/92/15692/1 diff --git a/ccid/cuart.c b/ccid/cuart.c index 2c0428e..393bf55 100644 --- a/ccid/cuart.c +++ b/ccid/cuart.c @@ -113,7 +113,6 @@ case CUART_E_TX_COMPLETE: cuart->tx_busy = false; /* re-enable receiver if we're done with transmit */ - sleep(1); card_uart_ctrl(cuart, CUART_CTL_RX, true); break; default: diff --git a/ccid/cuart.h b/ccid/cuart.h index 7e217db..c28209f 100644 --- a/ccid/cuart.h +++ b/ccid/cuart.h @@ -77,6 +77,8 @@ size_t tx_buf_len; /* index: offset of next to be transmitted byte in tx_buf */ size_t tx_index; + /* number of bytes we have received echoed back during transmit */ + uint32_t rx_count_during_tx; struct osmo_fd ofd; unsigned int baudrate; @@ -104,4 +106,3 @@ void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data); int card_uart_driver_register(struct card_uart_driver *drv); - diff --git a/ccid/cuart_driver_tty.c b/ccid/cuart_driver_tty.c index 6bd2b52..7fc8d3a 100644 --- a/ccid/cuart_driver_tty.c +++ b/ccid/cuart_driver_tty.c @@ -125,7 +125,21 @@ rc = read(ofd->fd, buf, sizeof(buf)); OSMO_ASSERT(rc > 0); for (i = 0; i < rc; i++) { +#ifndef CREAD_ACTUALLY_WORKS /* work-around for https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ + if (cuart->tx_busy) { + if (cuart->u.tty.rx_count_during_tx < cuart->u.tty.tx_buf_len) { + /* FIXME: compare! */ + cuart->u.tty.rx_count_during_tx += 1; + if (cuart->u.tty.rx_count_during_tx == cuart->u.tty.tx_buf_len) { + cuart->tx_busy = false; + card_uart_notification(cuart, CUART_E_TX_COMPLETE, + (void *)cuart->u.tty.tx_buf); + } + continue; + } + } +#endif if (!cuart->rx_enabled) continue; @@ -152,12 +166,15 @@ /* if no more bytes to transmit, disable OSMO_FD_WRITE */ if (cuart->u.tty.tx_index >= cuart->u.tty.tx_buf_len) { ofd->when &= ~BSC_FD_WRITE; +#ifndef CREAD_ACTUALLY_WORKS + /* don't immediately notify user; first wait for characters to be received */ +#else /* ensure everything is written (tx queue/fifo drained) */ tcdrain(cuart->u.tty.ofd.fd); - osmo_select_main(true); cuart->tx_busy = false; /* notify */ card_uart_notification(cuart, CUART_E_TX_COMPLETE, (void *)cuart->u.tty.tx_buf); +#endif } } return 0; @@ -209,7 +226,8 @@ cuart->u.tty.tx_buf = data; cuart->u.tty.tx_buf_len = len; - cuart->u.tty.tx_buf_len = len; + cuart->u.tty.tx_index = 0; + cuart->u.tty.rx_count_during_tx = 0; cuart->tx_busy = true; cuart->u.tty.ofd.when |= OSMO_FD_WRITE; diff --git a/ccid/cuart_test.c b/ccid/cuart_test.c index aff9de7..0ed6614 100644 --- a/ccid/cuart_test.c +++ b/ccid/cuart_test.c @@ -47,6 +47,8 @@ card_uart_tx(&g_cuart, select_mf, 5, true); osmo_select_main(true); + sleep(1); + osmo_select_main(true); /* we should get an RX_SINGLE event here */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15692 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: Id3cca29f78ee5469a1142aaa1ff754cc0427ec93 Gerrit-Change-Number: 15692 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 Oct 7 21:35:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:24 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add .gitignore file Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 Change subject: add .gitignore file ...................................................................... add .gitignore file Change-Id: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a --- A .gitignore 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/93/15693/1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..76313c1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.o +ccid/ccid_functionfs +ccid/cuart_test +ccid/hub_functionfs -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 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: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a Gerrit-Change-Number: 15693 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 Oct 7 21:35:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:24 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Make cuart_fsm_test work (ATR + TPDU) Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15694 Change subject: Make cuart_fsm_test work (ATR + TPDU) ...................................................................... Make cuart_fsm_test work (ATR + TPDU) Change-Id: I5abfe18a414feac6d66f7e506865dd4cd5af73fe --- M ccid/Makefile A ccid/cuart_fsm_test.c 2 files changed, 121 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/94/15694/1 diff --git a/ccid/Makefile b/ccid/Makefile index a0d6952..3ab1045 100644 --- a/ccid/Makefile +++ b/ccid/Makefile @@ -1,18 +1,22 @@ CFLAGS=-Wall -g +LIBS?=-lasan $(shell pkg-config --libs libosmocore) -all: ccid_functionfs hub_functionfs cuart_test +all: ccid_functionfs hub_functionfs cuart_test cuart_fsm_test ccid_functionfs: ccid_main_functionfs.o logging.o ccid_proto.o ccid_device.o ccid_slot_sim.o - $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio hub_functionfs: hub_main_functionfs.o - $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio cuart_test: cuart_test.o cuart.o cuart_driver_tty.o utils_ringbuffer.o - $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) + +cuart_fsm_test: cuart_fsm_test.o logging.o cuart.o cuart_driver_tty.o utils_ringbuffer.o iso7816_fsm.o + $(CC) -o $@ $^ $(LIBS) $(shell pkg-config --libs libosmosim) %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ clean: - rm ccid_functionfs hub_functionfs cuart_test *.o + rm ccid_functionfs hub_functionfs cuart_test cuart_fsm_test *.o diff --git a/ccid/cuart_fsm_test.c b/ccid/cuart_fsm_test.c new file mode 100644 index 0000000..92f3437 --- /dev/null +++ b/ccid/cuart_fsm_test.c @@ -0,0 +1,112 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "logging.h" +#include "cuart.h" +#include "iso7816_fsm.h" + +static struct card_uart g_cuart; + +enum test_state { + ST_WAIT_ATR, + ST_ATR_DONE, + ST_IN_TPDU, +}; +static enum test_state g_tstate = ST_WAIT_ATR; + +static void fsm_user_cb(struct osmo_fsm_inst *fi, int event, int cause, void *data) +{ + printf("Handle FSM User Event %d: cause=%d, data=%p\n", event, cause, data); + switch (event) { + case ISO7816_E_ATR_DONE_IND: + g_tstate = ST_ATR_DONE; + break; + case ISO7816_E_TPDU_DONE_IND: + printf("======= TPDU: %s\n", msgb_hexdump(data)); + msgb_free(data); + g_tstate = ST_ATR_DONE; + default: + break; + } +} + +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 osmo_fsm_inst *fi; + uint8_t atr[64]; + int rc; + + tall_main_ctx = talloc_named_const(NULL, 0, "main"); + msgb_talloc_ctx_init(tall_main_ctx, 0); + osmo_init_logging2(tall_main_ctx, &log_info); + osmo_fsm_log_addr(false); + + signal(SIGUSR1, &signal_handler); + + rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + if (rc < 0) { + perror("opening UART"); + exit(1); + } + + fi = iso7816_fsm_alloc(NULL, LOGL_DEBUG, "SIM0", &g_cuart, fsm_user_cb, NULL); + OSMO_ASSERT(fi); + + /* activate reset, then power up */ + card_uart_ctrl(&g_cuart, CUART_CTL_RST, true); + card_uart_ctrl(&g_cuart, CUART_CTL_POWER, true); + osmo_fsm_inst_dispatch(fi, ISO7816_E_POWER_UP_IND, NULL); + + /* activate clock */ + card_uart_ctrl(&g_cuart, CUART_CTL_CLOCK, true); + + /* wait some time and release reset */ + usleep(10000); + card_uart_ctrl(&g_cuart, CUART_CTL_RST, false); + osmo_fsm_inst_dispatch(fi, ISO7816_E_RESET_REL_IND, NULL); + + /* process any events in polling mode for initial change */ + osmo_select_main(1); + + struct msgb *apdu; + while (1) { + /* check if the new state requires us to do something */ + switch (g_tstate) { + case ST_ATR_DONE: + apdu = msgb_alloc(512, "TPDU"); + msgb_put_u8(apdu, 0x00); + msgb_put_u8(apdu, 0xa4); + msgb_put_u8(apdu, 0x00); + msgb_put_u8(apdu, 0x04); + msgb_put_u8(apdu, 0x02); + msgb_put_u8(apdu, 0x2f); + msgb_put_u8(apdu, 0x00); + osmo_fsm_inst_dispatch(fi, ISO7816_E_XCEIVE_TPDU_CMD, apdu); + g_tstate = ST_IN_TPDU; + break; + default: + break; + } + osmo_select_main(0); + } + + exit(0); +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15694 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: I5abfe18a414feac6d66f7e506865dd4cd5af73fe Gerrit-Change-Number: 15694 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 Oct 7 21:35:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:25 +0000 Subject: Change in ...osmo-ccid-firmware[master]: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 Change subject: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty ...................................................................... make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty This works up to the point that we're getting the ATR displayed in pcsc_scan Change-Id: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 --- M ccid/Makefile M ccid/ccid_main_functionfs.c A ccid/ccid_slot_fsm.c 3 files changed, 215 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/95/15695/1 diff --git a/ccid/Makefile b/ccid/Makefile index 3ab1045..4993550 100644 --- a/ccid/Makefile +++ b/ccid/Makefile @@ -3,7 +3,9 @@ all: ccid_functionfs hub_functionfs cuart_test cuart_fsm_test -ccid_functionfs: ccid_main_functionfs.o logging.o ccid_proto.o ccid_device.o ccid_slot_sim.o +ccid_functionfs: ccid_main_functionfs.o logging.o ccid_proto.o ccid_device.o \ + cuart.o utils_ringbuffer.o cuart_driver_tty.o \ + ccid_slot_fsm.o iso7816_fsm.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio hub_functionfs: hub_main_functionfs.o diff --git a/ccid/ccid_main_functionfs.c b/ccid/ccid_main_functionfs.c index 5c0bc3b..d45a936 100644 --- a/ccid/ccid_main_functionfs.c +++ b/ccid/ccid_main_functionfs.c @@ -152,6 +152,7 @@ #include "ccid_device.h" #include "ccid_slot_sim.h" +extern struct ccid_slot_ops iso_fsm_slot_ops; #ifndef FUNCTIONFS_SUPPORTS_POLL #include @@ -528,7 +529,7 @@ signal(SIGUSR1, &signal_handler); - ccid_instance_init(&g_ci, &c_ops, &slotsim_slot_ops, &descriptors.fs_descs.ccid, + ccid_instance_init(&g_ci, &c_ops, &iso_fsm_slot_ops, &descriptors.fs_descs.ccid, data_rates, clock_freqs, "", &ufh); ufh.ccid_handle = &g_ci; diff --git a/ccid/ccid_slot_fsm.c b/ccid/ccid_slot_fsm.c new file mode 100644 index 0000000..06c14f1 --- /dev/null +++ b/ccid/ccid_slot_fsm.c @@ -0,0 +1,210 @@ +/* Code providing a ccid_slot_ops implementation based on iso7716_fsm, + * (which in turn sits on top of card_uart) */ + +#include +#include + +#include +#include +#include +#include + +#include "ccid_device.h" +#include "cuart.h" +#include "iso7816_fsm.h" + +struct iso_fsm_slot { + /* CCID slot above us */ + struct ccid_slot *cs; + /* main ISO7816-3 FSM instance beneath us */ + struct osmo_fsm_inst *fi; + /* UART beneath the ISO7816-3 FSM */ + struct card_uart *cuart; + /* bSeq of the operation currently in progress */ + uint8_t seq; +}; + +struct iso_fsm_slot_instance { + struct iso_fsm_slot slot[NR_SLOTS]; +}; + +static struct iso_fsm_slot_instance g_si; + +struct iso_fsm_slot *ccid_slot2iso_fsm_slot(struct ccid_slot *cs) +{ + OSMO_ASSERT(cs->slot_nr < ARRAY_SIZE(g_si.slot)); + return &g_si.slot[cs->slot_nr]; +} + +static const uint8_t sysmousim_sjs1_atr[] = { + 0x3B, 0x9F, 0x96, 0x80, 0x1F, 0xC7, 0x80, 0x31, + 0xA0, 0x73, 0xBE, 0x21, 0x13, 0x67, 0x43, 0x20, + 0x07, 0x18, 0x00, 0x00, 0x01, 0xA5 }; + +static const struct ccid_pars_decoded iso_fsm_def_pars = { + .fi = 372, + .di = 1, + .clock_stop = CCID_CLOCK_STOP_NOTALLOWED, + .inverse_convention = false, + .t0 = { + .guard_time_etu = 0, + .waiting_integer = 0, + }, + /* FIXME: T=1 */ +}; + +static void iso_fsm_slot_pre_proc_cb(struct ccid_slot *cs, struct msgb *msg) +{ + /* do nothing; real hardware would update the slot related state here */ +} + +static void iso_fsm_slot_icc_power_on_async(struct ccid_slot *cs, struct msgb *msg, + const struct ccid_pc_to_rdr_icc_power_on *ipo) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + ss->seq = ipo->hdr.bSeq; + LOGPCS(cs, LOGL_DEBUG, "scheduling power-up\n"); + + /* FIXME: do this via a FSM? */ + card_uart_ctrl(ss->cuart, CUART_CTL_RST, true); + card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_POWER_UP_IND, NULL); + cs->icc_powered = true; + card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, true); + usleep(10000); + card_uart_ctrl(ss->cuart, CUART_CTL_RST, false); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_RESET_REL_IND, NULL); + + msgb_free(msg); + /* continues in iso_fsm_clot_user_cb once ATR is received */ +} +static void iso_fsm_clot_user_cb(struct osmo_fsm_inst *fi, int event, int cause, void *data) +{ + struct iso_fsm_slot *ss = iso7816_fsm_get_user_priv(fi); + struct ccid_slot *cs = ss->cs; + struct msgb *tpdu, *resp; + + LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%p)\n", __func__, event, cause, data); + + switch (event) { + case ISO7816_E_ATR_DONE_IND: + tpdu = data; + /* FIXME: copy response data over */ + resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, + msgb_data(tpdu), msgb_length(tpdu)); + ccid_slot_send_unbusy(cs, resp); + msgb_free(tpdu); + break; + case ISO7816_E_TPDU_DONE_IND: + tpdu = data; + /* FIXME: copy response data over */ + resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_l2(tpdu), msgb_l2len(tpdu)); + ccid_slot_send_unbusy(cs, resp); + msgb_free(tpdu); + break; + } +} + +static void iso_fsm_slot_xfr_block_async(struct ccid_slot *cs, struct msgb *msg, + const struct ccid_pc_to_rdr_xfr_block *xfb) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + LOGPCS(cs, LOGL_DEBUG, "scheduling TPDU transfer\n"); + ss->seq = xfb->hdr.bSeq; + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_XCEIVE_TPDU_CMD, msg); + /* continues in iso_fsm_clot_user_cb once response/error/timeout is received */ +} + + +static void iso_fsm_slot_set_power(struct ccid_slot *cs, bool enable) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + if (enable) { + card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); + } else { + card_uart_ctrl(ss->cuart, CUART_CTL_POWER, false); + } +} + +static void iso_fsm_slot_set_clock(struct ccid_slot *cs, enum ccid_clock_command cmd) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + switch (cmd) { + case CCID_CLOCK_CMD_STOP: + card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, false); + break; + case CCID_CLOCK_CMD_RESTART: + card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, true); + break; + default: + OSMO_ASSERT(0); + } +} + +static int iso_fsm_slot_set_params(struct ccid_slot *cs, enum ccid_protocol_num proto, + const struct ccid_pars_decoded *pars_dec) +{ + /* we always acknowledge all parameters */ + return 0; +} + +static int iso_fsm_slot_set_rate_and_clock(struct ccid_slot *cs, uint32_t freq_hz, uint32_t rate_bps) +{ + /* we always acknowledge all rates/clocks */ + return 0; +} + + +static int iso_fsm_slot_init(struct ccid_slot *cs) +{ + void *ctx = NULL; /* FIXME */ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + struct card_uart *cuart = talloc_zero(ctx, struct card_uart); + char id_buf[16]; + char *devname = "/dev/null"; + int rc; + + LOGPCS(cs, LOGL_DEBUG, "%s\n", __func__); + + if (cs->slot_nr == 0) { + cs->icc_present = true; + devname = "/dev/ttyUSB5"; + } + + if (!cuart) + return -ENOMEM; + + snprintf(id_buf, sizeof(id_buf), "SIM%d", cs->slot_nr); + rc = card_uart_open(cuart, "tty", devname); + if (rc < 0) { + talloc_free(cuart); + return rc; + } + ss->fi = iso7816_fsm_alloc(ctx, LOGL_DEBUG, id_buf, cuart, iso_fsm_clot_user_cb, ss); + if (!ss->fi) { + talloc_free(cuart); + return -1; + } + + cs->default_pars = &iso_fsm_def_pars; + ss->cuart = cuart; + ss->cs = cs; + + + return 0; +} + +const struct ccid_slot_ops iso_fsm_slot_ops = { + .init = iso_fsm_slot_init, + .pre_proc_cb = iso_fsm_slot_pre_proc_cb, + .icc_power_on_async = iso_fsm_slot_icc_power_on_async, + .xfr_block_async = iso_fsm_slot_xfr_block_async, + .set_power = iso_fsm_slot_set_power, + .set_clock = iso_fsm_slot_set_clock, + .set_params = iso_fsm_slot_set_params, + .set_rate_and_clock = iso_fsm_slot_set_rate_and_clock, +}; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 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: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 Gerrit-Change-Number: 15695 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 Oct 7 21:35:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:25 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Remove last argument (we always have the receiver active) Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 Change subject: card_uart_tx: Remove last argument (we always have the receiver active) ...................................................................... card_uart_tx: Remove last argument (we always have the receiver active) Change-Id: I8f82e9108d0eae86bbe4535403ccc680b7379a0e --- M ccid/cuart.c M ccid/cuart.h M ccid/cuart_driver_tty.c M ccid/cuart_test.c M ccid/iso7816_fsm.c 5 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/96/15696/1 diff --git a/ccid/cuart.c b/ccid/cuart.c index 393bf55..895717a 100644 --- a/ccid/cuart.c +++ b/ccid/cuart.c @@ -75,7 +75,7 @@ return rc; } -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete) +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len) { OSMO_ASSERT(cuart); OSMO_ASSERT(cuart->driver); @@ -87,7 +87,7 @@ /* disable receiver to avoid receiving what we transmit */ card_uart_ctrl(cuart, CUART_CTL_RX, false); - return cuart->driver->ops->async_tx(cuart, data, len, rx_after_complete); + return cuart->driver->ops->async_tx(cuart, data, len); } int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len) diff --git a/ccid/cuart.h b/ccid/cuart.h index c28209f..790c277 100644 --- a/ccid/cuart.h +++ b/ccid/cuart.h @@ -30,7 +30,7 @@ struct card_uart_ops { int (*open)(struct card_uart *cuart, const char *device_name); int (*close)(struct card_uart *cuart); - int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); + int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len); int (*async_rx)(struct card_uart *cuart, uint8_t *data, size_t len); int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); @@ -93,7 +93,7 @@ int card_uart_close(struct card_uart *cuart); /*! Schedule (asynchronous) transmit data via UART; optionally enable Rx after completion */ -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len); /*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); diff --git a/ccid/cuart_driver_tty.c b/ccid/cuart_driver_tty.c index 7fc8d3a..3695b58 100644 --- a/ccid/cuart_driver_tty.c +++ b/ccid/cuart_driver_tty.c @@ -220,7 +220,7 @@ return 0; } -static int tty_uart_async_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after) +static int tty_uart_async_tx(struct card_uart *cuart, const uint8_t *data, size_t len) { OSMO_ASSERT(cuart->driver == &tty_uart_driver); diff --git a/ccid/cuart_test.c b/ccid/cuart_test.c index 0ed6614..d4d8faf 100644 --- a/ccid/cuart_test.c +++ b/ccid/cuart_test.c @@ -44,7 +44,7 @@ static void test_apdu(void) { const uint8_t select_mf[] = "\xa0\xa4\x04\x00\x02\x3f\x00"; - card_uart_tx(&g_cuart, select_mf, 5, true); + card_uart_tx(&g_cuart, select_mf, 5); osmo_select_main(true); sleep(1); diff --git a/ccid/iso7816_fsm.c b/ccid/iso7816_fsm.c index f8fe14a..f20cbcd 100644 --- a/ccid/iso7816_fsm.c +++ b/ccid/iso7816_fsm.c @@ -809,7 +809,7 @@ LOGPFSML(fi, LOGL_DEBUG, "Transmitting TPDU header %s via UART\n", osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); - card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh), true); + card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh)); break; default: OSMO_ASSERT(0); @@ -855,7 +855,7 @@ } else if (byte == tpduh->ins) { if (msgb_l2len(tfp->tpdu)) { /* transmit all remaining bytes */ - card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu), true); + card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu)); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); } else { card_uart_set_rx_threshold(ip->uart, tpduh->p3); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 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: I8f82e9108d0eae86bbe4535403ccc680b7379a0e Gerrit-Change-Number: 15696 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 Oct 7 21:35:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 7 Oct 2019 21:35:25 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Implement single-byte RX/TX Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 Change subject: iso7816_fsm: Implement single-byte RX/TX ...................................................................... iso7816_fsm: Implement single-byte RX/TX Change-Id: I31fb127e1cb2fda0856658a6511089c3d9e31c2a --- M ccid/iso7816_fsm.c 1 file changed, 52 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/97/15697/1 diff --git a/ccid/iso7816_fsm.c b/ccid/iso7816_fsm.c index f20cbcd..e173030 100644 --- a/ccid/iso7816_fsm.c +++ b/ccid/iso7816_fsm.c @@ -779,8 +779,22 @@ * TPDU FSM ***********************************************************************/ +/* In this FSM weu use the msgb for the TPDU as follows: + * - 5-byte TPDU header is at msg->data + * - COMMAND TPDU: + * - command bytes are provided after the header at msg->l2h + * - in case of incremental transmission, l3h points to next to-be-transmitted byte + * - RESPONSE TPDU: + * - any response bytes are stored after the header at msg->l2h + */ + +static inline struct osim_apdu_cmd_hdr *msgb_tpdu_hdr(struct msgb *msg) { + return (struct osim_apdu_cmd_hdr *) msgb_data(msg); +} + struct tpdu_fsm_priv { struct msgb *tpdu; + bool is_command; /* is this a command TPDU (true) or a response (false) */ }; /* type-safe method to obtain iso7816_3_priv from fi */ @@ -805,8 +819,14 @@ tfp->tpdu = (struct msgb *)data; OSMO_ASSERT(msgb_length(tfp->tpdu) >= sizeof(*tpduh)); tfp->tpdu->l2h = msgb_data(tfp->tpdu) + sizeof(*tpduh); - tpduh = msgb_data(tfp->tpdu); - LOGPFSML(fi, LOGL_DEBUG, "Transmitting TPDU header %s via UART\n", + if (msgb_l2len(tfp->tpdu)) { + tfp->is_command = true; + tfp->tpdu->l3h = tfp->tpdu->l2h; /* next tx byte == first byte of body */ + } else + tfp->is_command = false; + tpduh = msgb_tpdu_hdr(tfp->tpdu); + LOGPFSML(fi, LOGL_DEBUG, "Transmitting %s TPDU header %s via UART\n", + tfp->is_command ? "COMMAND" : "RESPONSE", osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh)); @@ -834,7 +854,7 @@ static void tpdu_s_procedure_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); - struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osim_apdu_cmd_hdr *tpduh = msgb_tpdu_hdr(tfp->tpdu); struct osmo_fsm_inst *parent_fi = fi->proc.parent; struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); uint8_t byte; @@ -853,7 +873,7 @@ osmo_fsm_inst_state_chg(fi, TPDU_S_SW2, 0, 0); break; } else if (byte == tpduh->ins) { - if (msgb_l2len(tfp->tpdu)) { + if (tfp->is_command) { /* transmit all remaining bytes */ card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu)); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); @@ -862,10 +882,15 @@ osmo_fsm_inst_state_chg(fi, TPDU_S_RX_REMAINING, 0, 0); } } else if (byte == (tpduh->ins ^ 0xFF)) { - osmo_panic("unsupported single-byte T=0 case"); - /* FIXME: transmit single byte then wait for proc */ - //osmo_fsm_inst_state_chg(fi, TPDU_S_xX_SINGLE, 0, 0); - //osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + /* transmit/recieve single byte then wait for proc */ + if (tfp->is_command) { + /* transmit *next*, not first byte */ + OSMO_ASSERT(msgb_l3len(tfp->tpdu) >= 0); + card_uart_tx(ip->uart, msgb_l3(tfp->tpdu), 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_TX_SINGLE, 0, 0); + } else { + osmo_fsm_inst_state_chg(fi, TPDU_S_RX_SINGLE, 0, 0); + } } else OSMO_ASSERT(0); break; @@ -893,10 +918,15 @@ /* UART is transmitting single byte of data; we wait for ISO7816_E_TX_COMPL */ static void tpdu_s_tx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + switch (event) { case ISO7816_E_TX_COMPL: - /* TODO: increase pointer/counter? */ - osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + tfp->tpdu->l3h += 1; + if (msgb_l3len(tfp->tpdu)) + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + else + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); break; default: OSMO_ASSERT(0); @@ -907,7 +937,7 @@ static void tpdu_s_rx_remaining_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); - struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osim_apdu_cmd_hdr *tpduh = msgb_tpdu_hdr(tfp->tpdu); struct osmo_fsm_inst *parent_fi = fi->proc.parent; struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); int rc; @@ -916,8 +946,12 @@ case ISO7816_E_RX_COMPL: /* retrieve pending byte(s) */ rc = card_uart_rx(ip->uart, msgb_l2(tfp->tpdu), tpduh->p3); - if (rc != tpduh->p3) - LOGPFSML(fi, LOGL_ERROR, "expected %u bytes; read %d\n", tpduh->p3, rc); + OSMO_ASSERT(rc > 0); + msgb_put(tfp->tpdu, rc); + if (msgb_l2len(tfp->tpdu) != tpduh->p3) { + LOGPFSML(fi, LOGL_ERROR, "expected %u bytes; read %d\n", tpduh->p3, + msgb_l2len(tfp->tpdu)); + } card_uart_set_rx_threshold(ip->uart, 1); osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); break; @@ -930,17 +964,18 @@ static void tpdu_s_rx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osim_apdu_cmd_hdr *tpduh = msgb_tpdu_hdr(tfp->tpdu); uint8_t byte; switch (event) { case ISO7816_E_RX_SINGLE: byte = get_rx_byte_evt(fi->proc.parent, data); LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); - /* TODO: record byte */ - /* FIXME: determine if number of expected bytes received */ - if (0) { + msgb_put_u8(tfp->tpdu, byte); + /* determine if number of expected bytes received */ + if (msgb_l2len(tfp->tpdu) == tpduh->p3) osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); - } else + else osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 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: I31fb127e1cb2fda0856658a6511089c3d9e31c2a Gerrit-Change-Number: 15697 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Oct 8 02:40:43 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 08 Oct 2019 02:40:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9bf7396785c_54662ab2962285f8155792@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: [ 539s] ar: `u' modifier ignored since `D' is the default (see `U') [ 539s] libtool: link: ranlib .libs/libtransceiver_common.a [ 539s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 539s] /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 [ 540s] 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 [ 540s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 540s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 540s] collect2: error: ld returned 1 exit status [ 540s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 540s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 540s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 540s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 540s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 540s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 540s] make[1]: *** [Makefile:444: all] Error 2 [ 540s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 540s] dh_auto_build: make -j1 returned exit code 2 [ 540s] make: *** [debian/rules:6: build] Error 255 [ 540s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 540s] [ 540s] morla3 failed "build osmo-trx_1.1.1.30.92814.dsc" at Tue Oct 8 02:40:28 UTC 2019. [ 540s] [ 540s] ### VM INTERACTION START ### [ 543s] [ 517.978039] sysrq: SysRq : Power Off [ 543s] [ 518.062984] reboot: Power down [ 543s] ### VM INTERACTION END ### [ 543s] [ 543s] morla3 failed "build osmo-trx_1.1.1.30.92814.dsc" at Tue Oct 8 02:40:31 UTC 2019. [ 543s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Oct 8 04:27:42 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 08 Oct 2019 04:27:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9c104c7e57d_54662ab2962285f8174041@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: [ 497s] ar: `u' modifier ignored since `D' is the default (see `U') [ 497s] libtool: link: ranlib .libs/libtransceiver_common.a [ 497s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 497s] /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 [ 498s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 498s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 498s] collect2: error: ld returned 1 exit status [ 498s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 498s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 498s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 498s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 498s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 498s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 498s] make[1]: *** [Makefile:444: all] Error 2 [ 498s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 498s] dh_auto_build: make -j1 returned exit code 2 [ 498s] make: *** [debian/rules:6: build] Error 255 [ 498s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 498s] [ 498s] lamb10 failed "build osmo-trx_1.1.1.30.92814.dsc" at Tue Oct 8 04:27:23 UTC 2019. [ 498s] [ 498s] ### VM INTERACTION START ### [ 501s] [ 480.326732] sysrq: SysRq : Power Off [ 501s] [ 480.366360] reboot: Power down [ 501s] ### VM INTERACTION END ### [ 501s] [ 501s] lamb10 failed "build osmo-trx_1.1.1.30.92814.dsc" at Tue Oct 8 04:27:27 UTC 2019. [ 501s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Oct 8 09:11:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 8 Oct 2019 09:11:56 +0000 Subject: Change in ...osmo-hlr[master]: tests/test_nodes.vty: check less libosmocore cmds Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15698 Change subject: tests/test_nodes.vty: check less libosmocore cmds ...................................................................... tests/test_nodes.vty: check less libosmocore cmds Use three dots to avoid checking for exact commands between help and exit, which originate from libosmocore. This avoids test failues when we slightly change the commands, like the change from "write file" to "write file [PATH]" in [1] that is currently causing the vty tests to fail. [1] libosmocore I38edcf902a08b6bd0ebb9aa6fc1a7041421af525 Change-Id: I4a964b86195141e5a50705425206f3602f908999 --- M tests/test_nodes.vty 1 file changed, 4 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/98/15698/1 diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index bf2afaf..2be9617 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -27,12 +27,7 @@ OsmoHLR> enable OsmoHLR# list help - list - write terminal - write file - write memory - write - show running-config +... exit disable configure terminal @@ -52,12 +47,7 @@ OsmoHLR# configure terminal OsmoHLR(config)# list help - list - write terminal - write file - write memory - write - show running-config +... exit end ... @@ -66,12 +56,7 @@ OsmoHLR(config)# hlr OsmoHLR(config-hlr)# list help - list - write terminal - write file - write memory - write - show running-config +... exit end gsup @@ -92,12 +77,7 @@ OsmoHLR(config-hlr)# gsup OsmoHLR(config-hlr-gsup)# list help - list - write terminal - write file - write memory - write - show running-config +... exit end bind ip A.B.C.D -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I4a964b86195141e5a50705425206f3602f908999 Gerrit-Change-Number: 15698 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 Oct 8 09:25:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 09:25:49 +0000 Subject: Change in ...osmo-hlr[master]: tests/test_nodes.vty: check less libosmocore cmds In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15698 ) Change subject: tests/test_nodes.vty: check less libosmocore cmds ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I4a964b86195141e5a50705425206f3602f908999 Gerrit-Change-Number: 15698 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 09:25: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 Oct 8 09:27:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 09:27:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 ) Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 09:27: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 Tue Oct 8 09:57:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 8 Oct 2019 09:57:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 ) Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 09:57: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 Oct 8 10:33:42 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 10:33:42 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: lynxis lazus 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 8: Code-Review+2 1+1=2 -- 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: 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, 08 Oct 2019 10:33: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 Oct 8 10:33:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 10:33:46 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( 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 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(-) Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/sgsn/gprs_ranap.h b/include/osmocom/sgsn/gprs_ranap.h index b300130..62fdf6f 100644 --- a/include/osmocom/sgsn/gprs_ranap.h +++ b/include/osmocom/sgsn/gprs_ranap.h @@ -12,8 +12,19 @@ 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 + +#else /* ifndef BUILD_IU */ +inline static void sgsn_ranap_iu_free(void *ctx) {}; +inline static void sgsn_ranap_iu_release_free(void *ctx, void *cause) {}; +#endif /* BUILD_IU*/ struct ranap_ue_conn_ctx; /* On RANAP, Returns pointer to he associated ranap_ue_conn_ctx in msg, filled 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 d2b3455..8f45650 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -119,6 +119,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; } @@ -131,7 +132,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: @@ -153,6 +158,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/+/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: 8 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 Tue Oct 8 10:41:35 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 10:41:35 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: add missing rc = 0 Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15699 Change subject: gprs_ranap: add missing rc = 0 ...................................................................... gprs_ranap: add missing rc = 0 After processing the event, set the return code to success. Thanks to manatails (redmine). Change-Id: I73b3b3c3dd330bc953835737758854cf68539495 Fixes: #3969 --- M src/sgsn/gprs_ranap.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/99/15699/1 diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 8f45650..fcb9d09 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -149,6 +149,7 @@ gsm48_gmm_authorize(mm); else osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_IU_SECURITY_CMD_COMPLETE, NULL); + rc = 0; break; default: LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I73b3b3c3dd330bc953835737758854cf68539495 Gerrit-Change-Number: 15699 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 Oct 8 11:04:52 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:04:52 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: ranap_iu_tx_release() change default cause code to Success 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/+/15666 to look at the new patch set (#2). Change subject: iu_client: ranap_iu_tx_release() change default cause code to Success ...................................................................... iu_client: ranap_iu_tx_release() change default cause code to Success The cause code no remaining rab should be only used when closing the Iu connection on this specific reason. Change default to NAS Success Release which is a usual release. Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 --- M src/iu_client.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/66/15666/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 Gerrit-Change-Number: 15666 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 Oct 8 11:10:56 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:10:56 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( 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 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(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved 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..e6b80d7 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -12,7 +12,8 @@ static const struct osmo_tdef_state_timeout mm_state_iu_fsm_timeouts[32] = { [ST_PMM_DETACHED] = { }, - [ST_PMM_CONNECTED] = { }, + /* non-spec -T3314 (User inactivity timer) */ + [ST_PMM_CONNECTED] = { .T=-3314 }, [ST_PMM_IDLE] = { }, }; @@ -47,6 +48,10 @@ static void st_pmm_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct sgsn_mm_ctx *ctx = fi->priv; + 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 +62,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 +90,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 +110,8 @@ .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 +131,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)" }, {} }; diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 2ef926a..b9cf91e 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -12,6 +12,7 @@ T3386 = 8 s Wait for MODIFY PDP CTX ACK timer (s) (default: 8 s) T3395 = 8 s Wait for DEACT PDP CTX ACK timer (s) (default: 8 s) T3397 = 8 s Wait for DEACT AA PDP CTX ACK timer (s) (default: 8 s) +X3314 = 44 s Iu User inactivity timer. On expiry release Iu connection (s) (default: 44 s) OsmoSGSN# configure terminal OsmoSGSN(config)# list ... -- 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: 10 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 Tue Oct 8 11:11:27 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:11:27 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: lynxis lazus 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 10: Code-Review+2 1 + 1 + 1 > 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: 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, 08 Oct 2019 11: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 Tue Oct 8 11:11:34 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:11:34 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( 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 should stop any active procedure. Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee --- M src/sgsn/gprs_ranap.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved laforge: Looks good to me, but someone else must approve neels: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 8f45650..6ebbd69 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -137,6 +137,9 @@ else sgsn_ranap_iu_free(mm); + /* TODO: move this into FSM */ + if (mm->ran_type == MM_CTX_T_UTRAN_Iu && 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: 10 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 Tue Oct 8 11:11:53 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:11:53 +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 10: Code-Review+2 1 + 1 = 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: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 11:11: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 Tue Oct 8 11:12:04 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:12:04 +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 submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved pespin: Looks good to me, but someone else must approve 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 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: 10 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 Oct 8 11:14:53 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:14:53 +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 (#8). 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, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/51/15551/8 -- 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: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Oct 8 11:18:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 11:18:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Fix race condition in f_dyn_ipa_pdch_(de)act Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15700 Change subject: bts: Fix race condition in f_dyn_ipa_pdch_(de)act ...................................................................... bts: Fix race condition in f_dyn_ipa_pdch_(de)act Test BTS_Tests.TC_dyn_osmo_pdch_act_deact was sporadically failing due to receiving IND_INFO on the PCU port with pdch_mask related TS bit set to 0 after sending a PDCH ACT. That happened due to a race condition because PCU send IND_INFO periodically. As a result, it can happen that BTS sends an IND_INFO after PCU.clear was called and before the PDCH ACT is handled. Commit 446e07bc77ba2a1d08673cfeda6d4b6a72f49a77 already did same fix for f_dyn_ipa_pdch_(de)act() family, but didn't change this one. Change-Id: I323852632341c19837bebfcf2f00d404151367a7 --- M bts/BTS_Tests.ttcn 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/15700/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2c11ca2..f2861d1 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4899,13 +4899,21 @@ PCU.clear; f_rsl_chan_act(g_pars.chan_mode); /* expect INFO_IND on PCU interface listing TS as PDCH */ + timer T_wait := 2.0; + T_wait.start; alt { [] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd { if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '1'B) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "PCUIF_INFO_IND PDCH_MASK not '1' after PDCH ACT"); + log("PCUIF_INFO_IND PDCH_MASK not yet '1' after PDCH ACT on TS", g_chan_nr.tn, + " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask); + repeat; } } [] PCU.receive { repeat; } + [] T_wait.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Timeout waiting for PCUIF_INFO_IND PDCH_MASK to be '1' on TS", g_chan_nr.tn)); + } } /* try to activate this PDCH from the PCU point of view */ PCU.send(t_SD_PCUIF(pcu_conn_id, ts_PCUIF_ACT_REQ(bts_nr, trx_nr, g_chan_nr.tn))); @@ -4919,13 +4927,21 @@ PCU.clear; RSL.send(ts_RSL_RF_CHAN_REL(g_chan_nr)); /* expect BTS to ask PCU to deactivate the channel */ + timer T_wait := 2.0; + T_wait.start; alt { [] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd { if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '0'B) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "PCUIF_INFO_IND PDCH_MASK not '0' after PDCH DEACT"); + log("PCUIF_INFO_IND PDCH_MASK not yet '0' after PDCH DEACT on TS", g_chan_nr.tn, + " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask); + repeat; } } [] PCU.receive { repeat; } + [] T_wait.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Timeout waiting for PCUIF_INFO_IND PDCH_MASK to be '0' on TS", g_chan_nr.tn)); + } } /* Emulate PCU asking BTS to deactivate PDCH */ PCU.send(t_SD_PCUIF(pcu_conn_id, ts_PCUIF_DEACT_REQ(bts_nr, trx_nr, g_chan_nr.tn))); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I323852632341c19837bebfcf2f00d404151367a7 Gerrit-Change-Number: 15700 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 Oct 8 11:33:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 11:33:38 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: add missing rc = 0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15699 ) Change subject: gprs_ranap: add missing rc = 0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I73b3b3c3dd330bc953835737758854cf68539495 Gerrit-Change-Number: 15699 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 11:33: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 Tue Oct 8 11:34:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 11:34:52 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: ranap_iu_tx_release() change default cause code to Success In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15666 ) Change subject: iu_client: ranap_iu_tx_release() change default cause code to Success ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 Gerrit-Change-Number: 15666 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 11:34: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 Oct 8 11:37:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 11:37:15 +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 8: (1 comment) https://gerrit.osmocom.org/#/c/15551/8/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/#/c/15551/8/src/sgsn/gprs_gmm.c at 1704 PS8, Line 1704: ranap_iu_tx_release_free(MSG_IU_UE_CTX(msg), NULL, 5); So is 5 the correct cause code? What is 5? use some define? -- 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: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 11:37:15 +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 Oct 8 11:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 11:54:01 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures In-Reply-To: References: Message-ID: lynxis lazus 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 8: (1 comment) > Patch Set 6: > > In here the code comment was removed but the code was not changed as asked in the gerrit comment? I've removed the comment in the code. The correct cause code should be fixed via https://gerrit.osmocom.org/#/c/15551/8/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/#/c/15551/8/src/sgsn/gprs_gmm.c at 1704 PS8, Line 1704: ranap_iu_tx_release_free(MSG_IU_UE_CTX(msg), NULL, 5); > So is 5 the correct cause code? What is 5? use some define? The cause code is set to NULL, which means, it should use the default cause code. 5 is a timeout for closing the connection. I'll use a define for it. -- 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: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 11:54:01 +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 Oct 8 11:57:02 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 11:57:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 ) Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/#/c/15681/4/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15681/4/pcu/PCU_Tests_RAW.ttcn at 577 PS4, Line 577: an s/an/a/ https://gerrit.osmocom.org/#/c/15681/4/pcu/PCU_Tests_RAW.ttcn at 619 PS4, Line 619: Paging Request After all, what is the message we expect? Paging Request or Immediate Assignment? https://gerrit.osmocom.org/#/c/15681/4/pcu/PCU_Tests_RAW.ttcn at 1111 PS4, Line 1111: f_sleep(int2float(info_ind.t3169) + 1.0); Most likely, you don't need this because OsmoPCU is restarted across the test case executions. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 08 Oct 2019 11:57: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 Oct 8 12:02:20 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 12:02:20 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: add missing rc = 0 In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15699 ) Change subject: gprs_ranap: add missing rc = 0 ...................................................................... gprs_ranap: add missing rc = 0 After processing the event, set the return code to success. Thanks to manatails (redmine). Change-Id: I73b3b3c3dd330bc953835737758854cf68539495 Fixes: #3969 --- M src/sgsn/gprs_ranap.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 6ebbd69..9c7a5db 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -152,6 +152,7 @@ gsm48_gmm_authorize(mm); else osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_IU_SECURITY_CMD_COMPLETE, NULL); + rc = 0; break; default: LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I73b3b3c3dd330bc953835737758854cf68539495 Gerrit-Change-Number: 15699 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 Tue Oct 8 12:04:53 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 12:04:53 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: ranap_iu_tx_release() change default cause code to Success In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15666 ) Change subject: iu_client: ranap_iu_tx_release() change default cause code to Success ...................................................................... iu_client: ranap_iu_tx_release() change default cause code to Success The cause code no remaining rab should be only used when closing the Iu connection on this specific reason. Change default to NAS Success Release which is a usual release. Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 --- M src/iu_client.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/iu_client.c b/src/iu_client.c index f4a9cd3..4b0acb0 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -468,15 +468,15 @@ } /* Send Iu Release for the given UE connection. - * If cause is NULL, the standard "No remaining RAB" cause is sent, otherwise + * If cause is NULL, Normal Release cause is sent, otherwise * the provided cause. */ int ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause) { struct msgb *msg; struct osmo_scu_prim *prim; static const struct RANAP_Cause default_cause = { - .present = RANAP_Cause_PR_radioNetwork, - .choice.radioNetwork = RANAP_CauseRadioNetwork_no_remaining_rab, + .present = RANAP_Cause_PR_nAS, + .choice.radioNetwork = RANAP_CauseNAS_normal_release, }; if (!cause) -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5 Gerrit-Change-Number: 15666 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 Tue Oct 8 12:33:57 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 12:33:57 +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 (#9). 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/9 -- 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: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus 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 Oct 8 12:34:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 12:34:00 +0000 Subject: Change in ...osmo-sgsn[master]: ranap: add non-spec T1001 Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 Change subject: ranap: add non-spec T1001 ...................................................................... ranap: add non-spec T1001 When the SGSN releases a RANAP connection, it sends a Release Command and waits for a Release Complete. Use T1001 to release the Iu connection when the Release Complete is lost/never received. Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 --- M src/sgsn/gprs_ranap.c M src/sgsn/sgsn_vty.c 2 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/01/15701/1 diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 6ebbd69..d2841df 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -25,6 +25,7 @@ #include #include +#include #include @@ -161,8 +162,6 @@ return rc; } -/* TODO: use timers */ -#define TIMEOUT_RANAP_RELEASE_SEC 5 void sgsn_ranap_iu_free(struct sgsn_mm_ctx *ctx) { if (!ctx) @@ -178,15 +177,19 @@ void sgsn_ranap_iu_release_free(struct sgsn_mm_ctx *ctx, const struct RANAP_Cause *cause) { + unsigned long T1001; + if (!ctx) return; if (!ctx->iu.ue_ctx) return; + T1001 = osmo_tdef_get(sgsn->cfg.T_defs, 1001, OSMO_TDEF_S, -1); + ranap_iu_tx_release_free(ctx->iu.ue_ctx, cause, - TIMEOUT_RANAP_RELEASE_SEC); + (int) T1001); ctx->iu.ue_ctx = NULL; } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 17b64c8..855598c 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -90,6 +90,9 @@ #define GSM0408_T3395_SECS 8 /* wait for DEACT PDP CTX ACK */ #define GSM0408_T3397_SECS 8 /* wait for DEACT AA PDP CTX ACK */ +/* Non spec timer */ +#define NONSPEC_T1001_SECS 5 /* wait for a RANAP Release Complete */ + static struct osmo_tdef sgsn_T_defs[] = { { .T=3312, .default_val=GSM0408_T3312_SECS, .desc="Periodic RA Update timer (s)" }, @@ -106,6 +109,8 @@ { .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)" }, + { .T=-1001, .default_val=NONSPEC_T1001_SECS, .desc="RANAP Release timeout. Wait for RANAP Release Complete." + "On expiry release Iu connection (s)" }, {} }; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 Gerrit-Change-Number: 15701 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 Oct 8 12:36:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 12:36:47 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures In-Reply-To: References: Message-ID: lynxis lazus 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 9: (1 comment) https://gerrit.osmocom.org/#/c/15551/8/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/#/c/15551/8/src/sgsn/gprs_gmm.c at 1704 PS8, Line 1704: ranap_iu_tx_release_free(MSG_IU_UE_CTX(msg), NULL, 5); > The cause code is set to NULL, which means, it should use the default cause code. [?] Done -- 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: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 12:36:47 +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 Oct 8 12:48:43 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 12:48:43 +0000 Subject: Change in ...osmo-sgsn[master]: ranap: add non-spec T1001 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/+/15701 to look at the new patch set (#2). Change subject: ranap: add non-spec T1001 ...................................................................... ranap: add non-spec T1001 When the SGSN releases a RANAP connection, it sends a Release Command and waits for a Release Complete. Use T1001 to release the Iu connection when the Release Complete is lost/never received. Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 --- M src/sgsn/gprs_ranap.c M src/sgsn/sgsn_vty.c M tests/test_nodes.vty 3 files changed, 12 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/01/15701/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 Gerrit-Change-Number: 15701 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 Tue Oct 8 12:54:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 12:54:55 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15702 Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... bts-trx: Log TRXC and TRXD socket recv()/send() failures Related: OS#4215 Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a --- M src/osmo-bts-trx/trx_if.c 1 file changed, 25 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/15702/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 9933109..af64ed6 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -94,14 +94,18 @@ struct phy_link *plink = ofd->data; struct phy_instance *pinst = phy_instance_by_num(plink, 0); char buf[1500]; - int len; + ssize_t len; uint32_t fn; OSMO_ASSERT(pinst); len = recv(ofd->fd, buf, sizeof(buf) - 1, 0); - if (len <= 0) + if (len <= 0) { + strerror_r(errno, (char *)buf, sizeof(buf)); + LOGPPHI(pinst, DTRX, LOGL_ERROR, + "recv() failed on TRXD with rc=%zd (%s)\n", len, buf); return len; + } buf[len] = '\0'; if (!!strncmp(buf, "IND CLOCK ", 10)) { @@ -144,6 +148,7 @@ struct trx_ctrl_msg *tcm; char buf[1500]; int len; + ssize_t snd_len; /* get first command */ if (llist_empty(&l1h->trx_ctrl_list)) @@ -155,7 +160,12 @@ LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Sending control '%s'\n", buf); /* send command */ - send(l1h->trx_ofd_ctrl.fd, buf, len+1, 0); + snd_len = send(l1h->trx_ofd_ctrl.fd, buf, len+1, 0); + if (snd_len <= 0) { + strerror_r(errno, (char *)buf, sizeof(buf)); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "send() failed on TRXC with rc=%zd (%s)\n", snd_len, buf); + } /* start timer */ osmo_timer_schedule(&l1h->trx_ctrl_timer, 2, 0); @@ -979,8 +989,9 @@ buf_len = recv(ofd->fd, buf, sizeof(buf), 0); if (buf_len <= 0) { + strerror_r(errno, (char *)buf, sizeof(buf)); LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, - "recv() failed on TRXD with rc=%zd\n", buf_len); + "recv() failed on TRXD with rc=%zd (%s)\n", buf_len, buf); return buf_len; } @@ -1058,6 +1069,7 @@ 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) { + ssize_t snd_len; uint8_t hdr_ver = l1h->config.trxd_hdr_ver_use; uint8_t buf[TRX_DATA_MSG_MAX_LEN]; @@ -1094,11 +1106,19 @@ /* we must be sure that TRX is on */ if (trx_if_powered(l1h)) { - send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); + snd_len = send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); + if (snd_len <= 0) + goto snd_err; } else LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Ignoring TX data, transceiver powered off.\n"); return 0; + +snd_err: + strerror_r(errno, (char *)buf, sizeof(buf)); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "send() failed on TRXD with rc=%zd (%s)\n", snd_len, buf); + return -2; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 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 Oct 8 12:58:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 12:58:03 +0000 Subject: Change in ...osmo-sgsn[master]: ranap: add non-spec T1001 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 ) Change subject: ranap: add non-spec T1001 ...................................................................... Patch Set 2: Code-Review-1 (4 comments) https://gerrit.osmocom.org/#/c/15701/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15701/2//COMMIT_MSG at 10 PS2, Line 10: and waits for a Release Complete. Use T1001 to release the Iu connection If it's non-spec, then we name them X1001, and values are negative. https://gerrit.osmocom.org/#/c/15701/2/src/sgsn/gprs_ranap.c File src/sgsn/gprs_ranap.c: https://gerrit.osmocom.org/#/c/15701/2/src/sgsn/gprs_ranap.c at 180 PS2, Line 180: unsigned long T1001; X1001 https://gerrit.osmocom.org/#/c/15701/2/src/sgsn/gprs_ranap.c at 188 PS2, Line 188: T1001 = osmo_tdef_get(sgsn->cfg.T_defs, 1001, OSMO_TDEF_S, -1); -1001 https://gerrit.osmocom.org/#/c/15701/2/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/#/c/15701/2/src/sgsn/sgsn_vty.c at 112 PS2, Line 112: { .T=-1001, .default_val=NONSPEC_T1001_SECS, .desc="RANAP Release timeout. Wait for RANAP Release Complete." Please put it before -3314, we usually order them this way afaik. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 Gerrit-Change-Number: 15701 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 12:58: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 Tue Oct 8 12:58:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 12:58:25 +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 10: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15551/10/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/#/c/15551/10/src/sgsn/gprs_gmm.c at 1704 PS10, Line 1704: int T1001 = osmo_tdef_get(sgsn->cfg.T_defs, 1001, OSMO_TDEF_S, -1); -1001 -- 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: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 12:58: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 Tue Oct 8 13:23:29 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 13:23:29 +0000 Subject: Change in ...osmo-sgsn[master]: ranap: add non-spec X1001 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-sgsn/+/15701 to look at the new patch set (#3). Change subject: ranap: add non-spec X1001 ...................................................................... ranap: add non-spec X1001 When the SGSN releases a RANAP connection, it sends a Release Command and waits for a Release Complete. Use X1001 to release the Iu connection when the Release Complete is lost/never received. Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 --- M src/sgsn/gprs_ranap.c M src/sgsn/sgsn_vty.c M tests/test_nodes.vty 3 files changed, 12 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/01/15701/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 Gerrit-Change-Number: 15701 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 Oct 8 13:23:29 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 13:23:29 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures 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-sgsn/+/15551 to look at the new patch set (#11). 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/11 -- 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: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus 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 Oct 8 13:39:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 13:39:38 +0000 Subject: Change in ...osmo-sgsn[master]: ranap: add non-spec X1001 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 ) Change subject: ranap: add non-spec X1001 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 Gerrit-Change-Number: 15701 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 13:39: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 Tue Oct 8 13:40:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 13:40:24 +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 11: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15551/11/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/#/c/15551/11/src/sgsn/gprs_gmm.c at 1704 PS11, Line 1704: int X1001 = osmo_tdef_get(sgsn->cfg.T_defs, -1001, OSMO_TDEF_S, -1); unsigned int here. -- 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: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 13:40: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 Tue Oct 8 13:42:53 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 13:42:53 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: lynxis lazus 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 7: (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? I'll create a seperate patchset to check all osmo_fsm_inst_alloc() -- 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: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 13:42:53 +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 Oct 8 13:43:08 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 13:43:08 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( 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, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 465a5fa..474f8f9 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -245,6 +245,10 @@ } 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); +#ifdef BUILD_IU + ctx->iu.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_iu_fsm, ctx, ctx, LOGL_DEBUG, NULL); +#endif INIT_LLIST_HEAD(&ctx->pdp_list); llist_add(&ctx->list, &sgsn_mm_ctxts); @@ -256,7 +260,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 +269,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 +280,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 +293,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: 7 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 Oct 8 13:43:17 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 13:43:17 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: MM Gb Fsm: fix event handling for implicit detach In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( 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(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved 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: 7 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 Oct 8 13:45:58 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 13:45:58 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures In-Reply-To: References: Message-ID: lynxis lazus 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 11: (1 comment) https://gerrit.osmocom.org/#/c/15551/11/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/#/c/15551/11/src/sgsn/gprs_gmm.c at 1704 PS11, Line 1704: int X1001 = osmo_tdef_get(sgsn->cfg.T_defs, -1001, OSMO_TDEF_S, -1); > unsigned int here. changed to unsigned long -- 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: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 13:45:58 +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 Oct 8 13:46:05 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 13:46:05 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures 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-sgsn/+/15551 to look at the new patch set (#12). 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/12 -- 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: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus 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 Oct 8 13:48:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 13:48:33 +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 12: Code-Review+1 -- 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: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 13: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 Tue Oct 8 13:49:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 13:49:24 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15702 ) Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... Patch Set 1: Code-Review+1 (5 comments) Checking rc of send() - cool! Coverity was complaining about that for a long time. I don't like using goto without the real need for that, otherwise I would CR+2. Also, I would prefer strerror(). https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c at 104 PS1, Line 104: strerror_r This is a single thread application, so calling strerror() would be enough. https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c at 165 PS1, Line 165: strerror_r Same. https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c at 992 PS1, Line 992: strerror_r Same. https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c at 1111 PS1, Line 1111: goto Any reason to use goto here? This is the only failure branch right now, and I don't think there will be more calls to send() in this function. https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c at 1118 PS1, Line 1118: strerror_r Same. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 08 Oct 2019 13:49: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 Tue Oct 8 13:52:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 13:52:27 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15702 ) Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c at 104 PS1, Line 104: strerror_r > This is a single thread application, so calling strerror() would be enough. I prefer using stack-buffer functions, it's less prone to errors in the future. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 13:52: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 Tue Oct 8 13:53:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 13:53:33 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15702 ) Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/15702/1/src/osmo-bts-trx/trx_if.c at 104 PS1, Line 104: strerror_r > I prefer using stack-buffer functions, it's less prone to errors in the future. For instance, I bet strerror is not signal-safe :) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 13:53:33 +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 Oct 8 13:54:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 13:54:38 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 to look at the new patch set (#2). Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... bts-trx: Log TRXC and TRXD socket recv()/send() failures Related: OS#4215 Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a --- M src/osmo-bts-trx/trx_if.c 1 file changed, 23 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/15702/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Tue Oct 8 14:31:32 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 14:31:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: delay f_gmm_attach() by 50ms Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 Change subject: sgsn: delay f_gmm_attach() by 50ms ...................................................................... sgsn: delay f_gmm_attach() by 50ms Packets sent by f_gmm_attach() might take too long via layers to reach the SGSN. The GMM_ATTACH_COMPL in f_gmm_attach() took soo long, that it arrived after packets, which has been sent after calling f_gmm_attach(). This behaviour was found in TC hlr_location_cancel_request_update(). Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/03/15703/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 281dcc9..b734133 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -784,6 +784,14 @@ if (is_iu(ran_index)) { as_iu_release_compl_disc(); } + + /* Race condition + * It has shown, that GMM_ATTACH_COMPL might take some time to arrive at the SGSN through the layers. + * In TC hlr_location_cancel_request_update, the GMM_ATTACH_COMPL came 2ms to late, so that the Location Cancel Request + * arrived before it. This results in a test case failure. + * Delay execution by 50 ms + */ + f_sleep(0.05); } private function f_TC_attach(charstring id) runs on BSSGP_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 Gerrit-Change-Number: 15703 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 Oct 8 14:44:58 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 14:44:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: delay f_gmm_attach() by 50ms In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 ) Change subject: sgsn: delay f_gmm_attach() by 50ms ...................................................................... Patch Set 2: (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/15703/1/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15703/1/sgsn/SGSN_Tests.ttcn at 790 PS1, Line 790: * In TC hlr_location_cancel_request_update, the GMM_ATTACH_COMPL came 2ms to late, so that the Location Cancel Request > "too" late. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 Gerrit-Change-Number: 15703 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 14:44:58 +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 Oct 8 14:45:27 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 14:45:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: delay f_gmm_attach() by 50ms In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 ) Change subject: sgsn: delay f_gmm_attach() by 50ms ...................................................................... Patch Set 2: > Patch Set 1: Code-Review+1 > > (1 comment) > > We could maybe use some CTRL command to wait until the ctx is attached? Do you think it's reasonable? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 Gerrit-Change-Number: 15703 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 14:45: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 Tue Oct 8 14:46:52 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 14:46:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: delay f_gmm_attach() by 50ms In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 ) Change subject: sgsn: delay f_gmm_attach() by 50ms ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 1: Code-Review+1 > > > > (1 comment) > > > > We could maybe use some CTRL command to wait until the ctx is attached? > > Do you think it's reasonable? I meant, I'm not sure which way is better :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 Gerrit-Change-Number: 15703 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 14:46:52 +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 Oct 8 15:00:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 15:00:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: delay f_gmm_attach() by 50ms In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 ) Change subject: sgsn: delay f_gmm_attach() by 50ms ...................................................................... Patch Set 2: Code-Review+1 That'd be the proper fix most probably, but fine with this one for now. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 Gerrit-Change-Number: 15703 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 15:00: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 Oct 8 15:02:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 15:02:22 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_mm_ctx_alloc(): check for unallocated fsms Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 Change subject: sgsn_mm_ctx_alloc(): check for unallocated fsms ...................................................................... sgsn_mm_ctx_alloc(): check for unallocated fsms Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 --- M src/sgsn/gprs_sgsn.c 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/15704/1 diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 474f8f9..cb2c0fc 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -243,17 +243,42 @@ talloc_free(ctx); return NULL; } + ctx->gmm_fsm = osmo_fsm_inst_alloc(&gmm_fsm, ctx, ctx, LOGL_DEBUG, "gmm_fsm"); + if (!ctx->gmm_fsm) + goto out; ctx->gmm_att_req.fsm = osmo_fsm_inst_alloc(&gmm_attach_req_fsm, ctx, ctx, LOGL_DEBUG, "gb_gmm_req"); + if (!ctx->gmm_att_req.fsm) + goto out; ctx->gb.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_gb_fsm, ctx, ctx, LOGL_DEBUG, NULL); + if (!ctx->gb.mm_state_fsm) + goto out; #ifdef BUILD_IU ctx->iu.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_iu_fsm, ctx, ctx, LOGL_DEBUG, NULL); + if (!ctx->iu.mm_state_fsm) + goto out; #endif + INIT_LLIST_HEAD(&ctx->pdp_list); llist_add(&ctx->list, &sgsn_mm_ctxts); return ctx; + +out: + if (ctx->iu.mm_state_fsm) + osmo_fsm_inst_free(ctx->iu.mm_state_fsm); + if (ctx->gb.mm_state_fsm) + osmo_fsm_inst_free(ctx->gb.mm_state_fsm); + if (ctx->gmm_att_req.fsm) + osmo_fsm_inst_free(ctx->gmm_att_req.fsm); + if (ctx->gmm_fsm) + osmo_fsm_inst_free(ctx->gmm_fsm); + + rate_ctr_group_free(ctx->ctrg); + talloc_free(ctx); + + return NULL; } /* Allocate a new SGSN MM context for GERAN_Gb */ struct sgsn_mm_ctx *sgsn_mm_ctx_alloc_gb(uint32_t tlli, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 Gerrit-Change-Number: 15704 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 Oct 8 15:34:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 15:34:18 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_mm_ctx_alloc(): check for unallocated fsms In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 ) Change subject: sgsn_mm_ctx_alloc(): check for unallocated fsms ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15704/1/src/sgsn/gprs_sgsn.c File src/sgsn/gprs_sgsn.c: https://gerrit.osmocom.org/#/c/15704/1/src/sgsn/gprs_sgsn.c at 270 PS1, Line 270: osmo_fsm_inst_free(ctx->iu.mm_state_fsm); I'd expect osmo_fsm_inst_free() to guard against NULL pointers (free functions usually do). Can you check it? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 Gerrit-Change-Number: 15704 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 15:34:18 +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 Oct 8 15:43:26 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 15:43:26 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps cell paging into gprs_gb 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-sgsn/+/15547 to look at the new patch set (#2). 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/2 -- 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: 2 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 Oct 8 15:43:29 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 15:43:29 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_IDLE Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 Change subject: sgsn: Gb: implementing PS Paging when MS is MM_IDLE ...................................................................... sgsn: Gb: implementing PS Paging when MS is MM_IDLE When the MS is in MM_IDLE, the Routing Area is known, but not the exact cell. Start the paging procedure. (Even this is only supported for the last known cell, not the Routing Area. Routing Area paging is not yet supported.) Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c --- M src/sgsn/sgsn_libgtp.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/05/15705/1 diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 496079a..73b71c3 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -664,6 +665,9 @@ /* FIXME: queue the packet we received from GTP */ break; case ST_GMM_REGISTERED_NORMAL: + if (mm->gb.mm_state_fsm->state == ST_MM_IDLE) + gprs_gb_page_ps_cell(mm); + break; default: LOGP(DGPRS, LOGL_ERROR, "GTP DATA IND for TLLI %08X in state " -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 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 Oct 8 15:47:25 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 15:47:25 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... sgsn: Gb: implementing PS Paging when MS is MM_STANDBY When the MS is in MM_STANDBY, the Routing Area is known, but not the exact cell. Start the paging procedure. (Even this is only supported for the last known cell, not the Routing Area. Routing Area paging is not yet supported.) Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c --- M src/sgsn/sgsn_libgtp.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/05/15705/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 8 15:47:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 15:47:58 +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 2: (2 comments) https://gerrit.osmocom.org/#/c/15547/2/include/osmocom/sgsn/gprs_gb.h File include/osmocom/sgsn/gprs_gb.h: https://gerrit.osmocom.org/#/c/15547/2/include/osmocom/sgsn/gprs_gb.h at 13 PS2, Line 13: /* page a MS in it's specific cell */ its https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c File src/sgsn/gprs_gb.c: https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c at 90 PS2, Line 90: /* FIXME: page whole routing area, not only the last known cell */ This FIXME doesn't belong here right? because the function is called "gprs_gb_page_ps_cell". -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 15:47:58 +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 Oct 8 15:50:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 15:50:44 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15705/2/src/sgsn/sgsn_libgtp.c File src/sgsn/sgsn_libgtp.c: https://gerrit.osmocom.org/#/c/15705/2/src/sgsn/sgsn_libgtp.c at 668 PS2, Line 668: OSMO_ASSERT(mm->gb.mm_state_fsm->state == ST_MM_IDLE); so first you assert on state, then you check in a condition for another? that's wrong. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 15:50: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 Tue Oct 8 15:59:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 15:59:14 +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 2: (2 comments) https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c File src/sgsn/gprs_gb.c: https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c at 90 PS2, Line 90: /* FIXME: page whole routing area, not only the last known cell */ > This FIXME doesn't belong here right? because the function is called "gprs_gb_page_ps_cell". good point. I don't know if SUSPENDed MS can move within the routing area, but I would expect this. 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); > Good idea! That's a new patch :) Do you want to create a ticket for it? Actual no, it's not needed to check here for different RAN, as Iu is filtered out earlier. -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 15:59:14 +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 Oct 8 16:09:29 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 16:09:29 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps paging into gprs_gb 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-sgsn/+/15547 to look at the new patch set (#3). Change subject: sgsn_libgtp: refactor ps paging into gprs_gb ...................................................................... sgsn_libgtp: refactor ps 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/3 -- 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: 3 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 Oct 8 16:09:29 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 16:09:29 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_IDLE 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-sgsn/+/15705 to look at the new patch set (#3). Change subject: sgsn: Gb: implementing PS Paging when MS is MM_IDLE ...................................................................... sgsn: Gb: implementing PS Paging when MS is MM_IDLE When the MS is in MM_IDLE, the Routing Area is known, but not the exact cell. Start the paging procedure. (Even this is only supported for the last known cell, not the Routing Area. Routing Area paging is not yet supported.) Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c --- M src/sgsn/sgsn_libgtp.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/05/15705/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 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 Oct 8 16:12:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 16:12:22 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps 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 paging into gprs_gb ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15547/3/include/osmocom/sgsn/gprs_gb.h File include/osmocom/sgsn/gprs_gb.h: https://gerrit.osmocom.org/#/c/15547/3/include/osmocom/sgsn/gprs_gb.h at 13 PS3, Line 13: /* page a MS in it routing area */ its -- 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: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16: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 Tue Oct 8 16:13:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 16:13:49 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_IDLE ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15705/3/src/sgsn/sgsn_libgtp.c File src/sgsn/sgsn_libgtp.c: https://gerrit.osmocom.org/#/c/15705/3/src/sgsn/sgsn_libgtp.c at 670 PS3, Line 670: You are missing here the following: " FIXME: queue the packet we received from GTP */" -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16:13: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 Tue Oct 8 16:13:50 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 16:13:50 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY 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-sgsn/+/15705 to look at the new patch set (#4). Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... sgsn: Gb: implementing PS Paging when MS is MM_STANDBY When the MS is in MM_STANDBY, the Routing Area is known, but not the exact cell. Start the paging procedure. (Even this is only supported for the last known cell, not the Routing Area. Routing Area paging is not yet supported.) Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c --- M src/sgsn/sgsn_libgtp.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/05/15705/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 4 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 Oct 8 16:15:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 16:15:14 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY 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-sgsn/+/15705 to look at the new patch set (#5). Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... sgsn: Gb: implementing PS Paging when MS is MM_STANDBY When the MS is in MM_STANDBY, the Routing Area is known, but not the exact cell. Start the paging procedure. (Even this is only supported for the last known cell, not the Routing Area. Routing Area paging is not yet supported.) Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c --- M src/sgsn/sgsn_libgtp.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/05/15705/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 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 Oct 8 16:15:24 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 16:15:24 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/15705/3/src/sgsn/sgsn_libgtp.c File src/sgsn/sgsn_libgtp.c: https://gerrit.osmocom.org/#/c/15705/3/src/sgsn/sgsn_libgtp.c at 670 PS3, Line 670: > You are missing here the following: " FIXME: queue the packet we received from GTP */" Done -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16:15: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 Tue Oct 8 16:39:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 16:39:11 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15706 Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... bts-trx: Time out if no clock ind recvd after RSP POWERON Before this patch, if due to whatever reason the TRX started fine (RSP POWERON 0) and sockets were created but no CLOCK IND was ever received by the BTS, it wouldn't notice since the timerfd timeouts (bts_shutdown("no clock")) are only checked after the first CLOCK IND is sent by the TRX. As a result, the BTS would be kept on forever saying everything is fine but it would be sending no DL burst at all to the TRX (tested with a modfied osmo-trx dropping clock indication). With this patch, new APIs are added to indicate the scheduler_trx code the timeframes where clock ind are expected (between RSP POWERON 0 and RSP POWEROFF 0); if TRX sends clock indications out of that timeframe, BTs lower layers will drop them (controlled by "powered" bool). Hence, the scheduler_trx can now place a timeout (reusing same timerfd because its new use is exclusive in time with its other previous use) when it is told that CLOCK IND should start appearing, and if none arrives in considerable time, then the BTS can be shut down to notify the rest of the network. Related: OS#4215 Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 57 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/15706/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index e693e3e..3100a1d 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -175,6 +175,12 @@ /*! \brief PHY informs us of new (current) GSM frame number */ int trx_sched_clock(struct gsm_bts *bts, uint32_t fn); +/*! \brief PHY informs us clock indications should start to be received */ +int trx_sched_clock_started(struct gsm_bts *bts); + +/*! \brief PHY informs us no more clock indications should be received anymore */ +int trx_sched_clock_stopped(struct gsm_bts *bts); + /*! \brief set multiframe scheduler to given physical channel config */ int trx_sched_set_pchan(struct l1sched_trx *l1t, uint8_t tn, enum gsm_phys_chan_config pchan); diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 1079128..38b43b9 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -176,10 +176,13 @@ plink->u.osmotrx.poweronoff_sent = false; if (poweronoff) { - if (rc == 0 && pinst->phy_link->state != PHY_LINK_CONNECTED) + if (rc == 0 && pinst->phy_link->state != PHY_LINK_CONNECTED) { + trx_sched_clock_started(pinst->trx->bts); phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED); - else if (rc != 0 && pinst->phy_link->state != PHY_LINK_SHUTDOWN) + } else if (rc != 0 && pinst->phy_link->state != PHY_LINK_SHUTDOWN) { + trx_sched_clock_stopped(pinst->trx->bts); phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN); + } } } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index af639e2..c967db8 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1682,6 +1682,52 @@ return -1; } +/*! \brief This is the cb of the initial timer set upon start. On timeout, it + * means it wasn't replaced and hence no CLOCK IND was received. */ +static int trx_start_noclockind_to_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct gsm_bts *bts = ofd->data; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; + struct osmo_trx_clock_state *tcs = &bts_trx->clk_s; + + osmo_fd_close(&tcs->fn_timer_ofd); /* Avoid being called again */ + bts_shutdown(bts, "No clock since TRX was started"); + return -1; +} + +/*! \brief PHY informs us clock indications should start to be received */ +int trx_sched_clock_started(struct gsm_bts *bts) +{ + 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 it_val = {10, 0}; + struct timespec it_intval = {0, 0}; + + LOGP(DL1C, LOGL_NOTICE, "GSM clock started, waiting for clock indications\n"); + osmo_fd_close(&tcs->fn_timer_ofd); + memset(tcs, 0, sizeof(*tcs)); + tcs->fn_timer_ofd.fd = -1; + /* Set up timeout to shutdown BTS if no clock ind is received in 10 + * seconds. Upon clock ind receival, fn_timer_ofd will be reused and + * timeout won't trigger. + */ + osmo_timerfd_setup(&tcs->fn_timer_ofd, trx_start_noclockind_to_cb, bts); + osmo_timerfd_schedule(&tcs->fn_timer_ofd, &it_val, &it_intval); + return 0; +} + +/*! \brief PHY informs us no more clock indications should be received anymore */ +int trx_sched_clock_stopped(struct gsm_bts *bts) +{ + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; + struct osmo_trx_clock_state *tcs = &bts_trx->clk_s; + + LOGP(DL1C, LOGL_NOTICE, "GSM clock stopped\n"); + osmo_fd_close(&tcs->fn_timer_ofd); + + return 0; +} + /*! reset clock with current fn and schedule it. Called when trx becomes * available or when max clock skew is reached */ static int trx_setup_clock(struct gsm_bts *bts, struct osmo_trx_clock_state *tcs, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 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 Oct 8 16:53:24 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 16:53:24 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_mm_ctx_alloc(): check for unallocated fsms In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 ) Change subject: sgsn_mm_ctx_alloc(): check for unallocated fsms ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15704/1/src/sgsn/gprs_sgsn.c File src/sgsn/gprs_sgsn.c: https://gerrit.osmocom.org/#/c/15704/1/src/sgsn/gprs_sgsn.c at 270 PS1, Line 270: osmo_fsm_inst_free(ctx->iu.mm_state_fsm); > I'd expect osmo_fsm_inst_free() to guard against NULL pointers (free functions usually do). [?] it does not guard against it. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 Gerrit-Change-Number: 15704 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16:53: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 Tue Oct 8 16:54:24 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 16:54:24 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps 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 paging into gprs_gb ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/#/c/15547/3/include/osmocom/sgsn/gprs_gb.h File include/osmocom/sgsn/gprs_gb.h: https://gerrit.osmocom.org/#/c/15547/3/include/osmocom/sgsn/gprs_gb.h at 13 PS3, Line 13: /* page a MS in it routing area */ > its Done https://gerrit.osmocom.org/#/c/15547/2/include/osmocom/sgsn/gprs_gb.h File include/osmocom/sgsn/gprs_gb.h: https://gerrit.osmocom.org/#/c/15547/2/include/osmocom/sgsn/gprs_gb.h at 13 PS2, Line 13: /* page a MS in it's specific cell */ > its Done https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c File src/sgsn/gprs_gb.c: https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c at 90 PS2, Line 90: /* FIXME: page whole routing area, not only the last known cell */ > good point. I don't know if SUSPENDed MS can move within the routing area, but I would expect this. I'm not sure if paging should be done at all for MS in SUSPEND. I've changed function name and commit message. -- 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: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16:54:24 +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 Oct 8 16:58:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 16:58:03 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16:58: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 Oct 8 16:58:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 16:58:55 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... Patch Set 5: Code-Review-2 Again that OSMO_ASSERT. One day I'll figure out which kind of gremlin you have in your computer running git push. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16:58: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 Oct 8 16:59:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 16:59:24 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_mm_ctx_alloc(): check for unallocated fsms In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 ) Change subject: sgsn_mm_ctx_alloc(): check for unallocated fsms ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 Gerrit-Change-Number: 15704 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 16:59: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 Oct 8 17:04:53 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 17:04:53 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... Patch Set 5: (1 comment) mind the ! https://gerrit.osmocom.org/#/c/15705/5/src/sgsn/sgsn_libgtp.c File src/sgsn/sgsn_libgtp.c: https://gerrit.osmocom.org/#/c/15705/5/src/sgsn/sgsn_libgtp.c at 668 PS5, Line 668: != this gremlin here is well known. it looked to me quite ugly to have if (state == ..) {} else { OSMO_ASSERT() } ST_MM_IDLE should never get through this. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 17:04: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 Tue Oct 8 17:12:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 8 Oct 2019 17:12:48 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 17:12: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 Oct 8 18:23:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 18:23:49 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15706 ) Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15706/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/#/c/15706/1/src/osmo-bts-trx/scheduler_trx.c at 1703 PS1, Line 1703: timespec const? https://gerrit.osmocom.org/#/c/15706/1/src/osmo-bts-trx/scheduler_trx.c at 1704 PS1, Line 1704: timespec const? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 08 Oct 2019 18:23: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 Tue Oct 8 20:19:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 20:19:20 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use RSL_CHAN_* definitions from libosmogsm Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15707 Change subject: L1SAP: use RSL_CHAN_* definitions from libosmogsm ...................................................................... L1SAP: use RSL_CHAN_* definitions from libosmogsm Change-Id: I2708b5d5bb6b92f90766ac752bafd28cff2549b0 --- M include/osmo-bts/l1sap.h 1 file changed, 21 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/15707/1 diff --git a/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index 70b4564..ccfcacc 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -2,6 +2,7 @@ #define L1SAP_H #include +#include /* lchan link ID */ #define LID_SACCH 0x40 @@ -15,16 +16,26 @@ #define L1SAP_CHAN2SS_BCCH(chan_nr) (CCCH_LCHAN) /* logical channel from chan_nr + link_id */ -#define L1SAP_IS_LINK_SACCH(link_id) ((link_id & 0xC0) == LID_SACCH) -#define L1SAP_IS_CHAN_TCHF(chan_nr) ((chan_nr & 0xf8) == 0x08) -#define L1SAP_IS_CHAN_TCHH(chan_nr) ((chan_nr & 0xf0) == 0x10) -#define L1SAP_IS_CHAN_SDCCH4(chan_nr) ((chan_nr & 0xe0) == 0x20) -#define L1SAP_IS_CHAN_SDCCH8(chan_nr) ((chan_nr & 0xc0) == 0x40) -#define L1SAP_IS_CHAN_BCCH(chan_nr) ((chan_nr & 0xf8) == 0x80) -#define L1SAP_IS_CHAN_RACH(chan_nr) ((chan_nr & 0xf8) == 0x88) -#define L1SAP_IS_CHAN_AGCH_PCH(chan_nr) ((chan_nr & 0xf8) == 0x90) -#define L1SAP_IS_CHAN_PDCH(chan_nr) ((chan_nr & 0xf8) == 0xc0) -#define L1SAP_IS_CHAN_CBCH(chan_nr) ((chan_nr & 0xf8) == 0xc8) +#define L1SAP_IS_LINK_SACCH(link_id) \ + ((link_id & 0xC0) == LID_SACCH) +#define L1SAP_IS_CHAN_TCHF(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_Bm_ACCHs) +#define L1SAP_IS_CHAN_TCHH(chan_nr) \ + ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) +#define L1SAP_IS_CHAN_SDCCH4(chan_nr) \ + ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) +#define L1SAP_IS_CHAN_SDCCH8(chan_nr) \ + ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) +#define L1SAP_IS_CHAN_BCCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_BCCH) +#define L1SAP_IS_CHAN_RACH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_RACH) +#define L1SAP_IS_CHAN_AGCH_PCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_PCH_AGCH) +#define L1SAP_IS_CHAN_PDCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) +#define L1SAP_IS_CHAN_CBCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) /* rach type from ra */ #define L1SAP_IS_PACKET_RACH(ra) ((ra & 0xf0) == 0x70 && (ra & 0x0f) != 0x0f) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2708b5d5bb6b92f90766ac752bafd28cff2549b0 Gerrit-Change-Number: 15707 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 Oct 8 20:19:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 20:19:20 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15708 Change subject: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH ...................................................................... L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH Currently we don't distinguish between CBCH on BCCH+SDCCH/4 and CBCH on SDCCH/8, but in libosmogsm we have two independent (non-standard) RSL channel number values for them. Maybe some day we will, so let's extend the definition of L1SAP_IS_CHAN_CBCH. Change-Id: I2f6d501a29edaf89dfb17d5d64f930cdb1943630 --- M include/osmo-bts/l1sap.h 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/15708/1 diff --git a/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index ccfcacc..7ae5d38 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -35,7 +35,8 @@ #define L1SAP_IS_CHAN_PDCH(chan_nr) \ ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) #define L1SAP_IS_CHAN_CBCH(chan_nr) \ - ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) + ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) \ + || ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) /* rach type from ra */ #define L1SAP_IS_PACKET_RACH(ra) ((ra & 0xf0) == 0x70 && (ra & 0x0f) != 0x0f) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2f6d501a29edaf89dfb17d5d64f930cdb1943630 Gerrit-Change-Number: 15708 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 Oct 8 20:19:21 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 20:19:21 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: clarify debug messages in rach_pass_filter() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15709 Change subject: L1SAP: clarify debug messages in rach_pass_filter() ...................................................................... L1SAP: clarify debug messages in rach_pass_filter() RACH stands for Random Access CHannel, while in rach_pass_filter() we're dealing with Access Bursts, that may be received on other logical channels too (e.g. PTCCH, PDTCH or any other). Change-Id: I1e5ca9930ab491a6916c972865154d54530cbf51 --- M src/common/l1sap.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/09/15709/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index ac1c99d..54953b0 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1258,7 +1258,7 @@ /* Check for RACH exceeding BER threshold (ghost RACH) */ if (rach_ind->ber10k > bts->max_ber10k_rach) { - LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: " + LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring an Access Burst: " "BER10k(%u) > BER10k_MAX(%u)\n", rach_ind->ber10k, bts->max_ber10k_rach); return false; @@ -1270,7 +1270,7 @@ * according to maximal allowed Timing Advance value. */ if (toa256 < RACH_MIN_TOA256 || toa256 > bts->max_ta * 256) { - LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: " + LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring an Access Burst: " "ToA(%d) exceeds the allowed range (%d..%d)\n", toa256, RACH_MIN_TOA256, bts->max_ta * 256); return false; @@ -1278,7 +1278,7 @@ /* Link quality defined by C/I (Carrier-to-Interference ratio) */ if (rach_ind->lqual_cb < bts->min_qual_rach) { - LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: " + LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring an Access Burst: " "link quality (%d) below the minimum (%d)\n", rach_ind->lqual_cb, bts->min_qual_rach); return false; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1e5ca9930ab491a6916c972865154d54530cbf51 Gerrit-Change-Number: 15709 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 Oct 8 20:19:21 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 20:19:21 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: do not pass unused parameter to l1sap_handover_rach() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15710 Change subject: L1SAP: do not pass unused parameter to l1sap_handover_rach() ...................................................................... L1SAP: do not pass unused parameter to l1sap_handover_rach() Change-Id: I7f2d909f1bde09cbec106240df290381b3418e46 --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/10/15710/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 54953b0..93a70cd 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1288,8 +1288,7 @@ } /* Special case where handover RACH is detected */ -static int l1sap_handover_rach(struct gsm_bts_trx *trx, - struct osmo_phsap_prim *l1sap, struct ph_rach_ind_param *rach_ind) +static int l1sap_handover_rach(struct gsm_bts_trx *trx, struct ph_rach_ind_param *rach_ind) { /* Filter out noise / interference / ghosts */ if (!rach_pass_filter(rach_ind, trx->bts)) { @@ -1330,7 +1329,7 @@ /* check for handover access burst on dedicated channels */ if (!L1SAP_IS_CHAN_RACH(rach_ind->chan_nr)) { rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_HO); - return l1sap_handover_rach(trx, l1sap, rach_ind); + return l1sap_handover_rach(trx, rach_ind); } rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_RCVD); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f2d909f1bde09cbec106240df290381b3418e46 Gerrit-Change-Number: 15710 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 Oct 8 20:19:21 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 20:19:21 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: refactor handling of Access Bursts on PDCH Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15711 Change subject: L1SAP: refactor handling of Access Bursts on PDCH ...................................................................... L1SAP: refactor handling of Access Bursts on PDCH First of all, we also need to apply the same filtering to Access Bursts on PDCH as for the normal ones on RACH, i.e. filter them by ToA (Timing of Arrival) and BER (Bit Error Rate). Secondly, we shall not interpret Access Bursts on PDTCH/U as handover related ones. Instead, let's print a warning and ignore them since they are not (yet) supported by OsmoBTS. Finally, in gsmtap_pdch() we need to set a proper channel type for Access Bursts received on PDCH (PDTCH/U or PTCCH/U). Change-Id: I461fde9f4543c45c42b591cd3fd0ff3d98673cec --- M src/common/l1sap.c 1 file changed, 47 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/15711/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 93a70cd..06de8a3 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -349,18 +349,27 @@ static int gsmtap_ph_rach(struct osmo_phsap_prim *l1sap, uint8_t *chan_type, uint8_t *tn, uint8_t *ss, uint32_t *fn, uint8_t **data, unsigned int *len) { - uint8_t chan_nr; + uint8_t chan_nr = l1sap->u.rach_ind.chan_nr; *chan_type = GSMTAP_CHANNEL_RACH; *fn = l1sap->u.rach_ind.fn; - *tn = L1SAP_CHAN2TS(l1sap->u.rach_ind.chan_nr); - chan_nr = l1sap->u.rach_ind.chan_nr; + *tn = L1SAP_CHAN2TS(chan_nr); + if (L1SAP_IS_CHAN_TCHH(chan_nr)) *ss = L1SAP_CHAN2SS_TCHH(chan_nr); else if (L1SAP_IS_CHAN_SDCCH4(chan_nr)) *ss = L1SAP_CHAN2SS_SDCCH4(chan_nr); else if (L1SAP_IS_CHAN_SDCCH8(chan_nr)) *ss = L1SAP_CHAN2SS_SDCCH8(chan_nr); + else if (L1SAP_IS_CHAN_PDCH(chan_nr)) { + if (L1SAP_IS_PTCCH(*fn)) { + /* TODO: calculate sub-slot from frame-number */ + *chan_type = GSMTAP_CHANNEL_PTCCH; + } else { + *chan_type = GSMTAP_CHANNEL_PDTCH; + } + } + *data = (uint8_t *)&l1sap->u.rach_ind.ra; *len = 1; @@ -1303,6 +1312,32 @@ return 0; } +/* Special case for Access Bursts on PDTCH/U or PTCCH/U */ +static int l1sap_pdch_rach(struct gsm_bts_trx *trx, struct ph_rach_ind_param *rach_ind) +{ + /* Filter out noise / interference / ghosts */ + if (!rach_pass_filter(rach_ind, trx->bts)) + return -EAGAIN; + + /* PTCCH/U (Packet Timing Advance Control Channel) */ + if (L1SAP_IS_PTCCH(rach_ind->fn)) { + LOGPFN(DL1P, LOGL_DEBUG, rach_ind->fn, + /* TODO: calculate and print Timing Advance Index */ + "Access Burst for continuous Timing Advance control (toa256=%d)\n", + rach_ind->acc_delay_256bits); + + /* QTA: Timing Advance in units of 1/4 of a symbol */ + pcu_tx_rach_ind(trx->bts, rach_ind->acc_delay_256bits >> 6, + rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, + rach_ind->burst_type, PCU_IF_SAPI_PTCCH); + return 0; + } else { /* The MS may acknowledge DL data by 4 consequent Access Bursts */ + LOGPFN(DL1P, LOGL_NOTICE, rach_ind->fn, + "Access Bursts on PDTCH/U are not (yet) supported\n"); + return -ENOTSUP; + } +} + /* RACH received from bts model */ static int l1sap_ph_rach_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct ph_rach_ind_param *rach_ind) @@ -1312,22 +1347,15 @@ DEBUGPFN(DL1P, rach_ind->fn, "Rx PH-RA.ind\n"); - /* PTCCH/UL (Packet Timing Advance Control Channel) */ - if (L1SAP_IS_CHAN_PDCH(rach_ind->chan_nr) && L1SAP_IS_PTCCH(rach_ind->fn)) { - LOGPFN(DL1P, LOGL_DEBUG, rach_ind->fn, - /* TODO: calculate and print Timing Advance Index */ - "Access Burst for continuous Timing Advance control (toa256=%d)\n", - rach_ind->acc_delay_256bits); - - /* QTA: Timing Advance in units of 1/4 of a symbol */ - pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, - rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, - rach_ind->burst_type, PCU_IF_SAPI_PTCCH); - return 0; - } - - /* check for handover access burst on dedicated channels */ - if (!L1SAP_IS_CHAN_RACH(rach_ind->chan_nr)) { + /* Check the origin of an Access Burst */ + switch (rach_ind->chan_nr & 0xf8) { + case RSL_CHAN_RACH: + /* CS or PS RACH, to be handled in this function */ + break; + case RSL_CHAN_OSMO_PDCH: + /* TODO: do we need to count Access Bursts on PDCH? */ + return l1sap_pdch_rach(trx, rach_ind); + default: rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_HO); return l1sap_handover_rach(trx, rach_ind); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I461fde9f4543c45c42b591cd3fd0ff3d98673cec Gerrit-Change-Number: 15711 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 Oct 8 20:19:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 20:19:22 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15712 Change subject: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() ...................................................................... L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() Change-Id: Id263c2b716fd282d37d705a1c5f430ce7c0edaf0 --- M src/common/l1sap.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/15712/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 06de8a3..67d569b 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -371,7 +371,7 @@ } *data = (uint8_t *)&l1sap->u.rach_ind.ra; - *len = 1; + *len = (l1sap->u.rach_ind.is_11bit) ? 2 : 1; return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id263c2b716fd282d37d705a1c5f430ce7c0edaf0 Gerrit-Change-Number: 15712 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 Oct 8 20:25:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:25:44 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: refactor handling of Access Bursts on PDCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15711 ) Change subject: L1SAP: refactor handling of Access Bursts on PDCH ...................................................................... Patch Set 1: looks good to me, but I think we still need to also have a similar filter on the PCU side as osmo-bts-{sysmo,lc15,oc2g} feed all L1 primitives on P* SAPIs directly to the PCU, bypassing the BTS for efficiency reasons. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I461fde9f4543c45c42b591cd3fd0ff3d98673cec Gerrit-Change-Number: 15711 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:25: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 Tue Oct 8 20:26:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:26:10 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use RSL_CHAN_* definitions from libosmogsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15707 ) Change subject: L1SAP: use RSL_CHAN_* definitions from libosmogsm ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2708b5d5bb6b92f90766ac752bafd28cff2549b0 Gerrit-Change-Number: 15707 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 08 Oct 2019 20: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 Oct 8 20:26:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:26:34 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15708 ) Change subject: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2f6d501a29edaf89dfb17d5d64f930cdb1943630 Gerrit-Change-Number: 15708 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:26: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 Oct 8 20:26:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:26:52 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: clarify debug messages in rach_pass_filter() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15709 ) Change subject: L1SAP: clarify debug messages in rach_pass_filter() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1e5ca9930ab491a6916c972865154d54530cbf51 Gerrit-Change-Number: 15709 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:26: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 Oct 8 20:27:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:27:06 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: do not pass unused parameter to l1sap_handover_rach() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15710 ) Change subject: L1SAP: do not pass unused parameter to l1sap_handover_rach() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f2d909f1bde09cbec106240df290381b3418e46 Gerrit-Change-Number: 15710 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:27: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 Tue Oct 8 20:27:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:27:33 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: refactor handling of Access Bursts on PDCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15711 ) Change subject: L1SAP: refactor handling of Access Bursts on PDCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I461fde9f4543c45c42b591cd3fd0ff3d98673cec Gerrit-Change-Number: 15711 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 20:27: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 Tue Oct 8 20:27:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:27:51 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15712 ) Change subject: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id263c2b716fd282d37d705a1c5f430ce7c0edaf0 Gerrit-Change-Number: 15712 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:27: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 Oct 8 20:28:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:28:36 +0000 Subject: Change in ...osmo-hlr[master]: tests/test_nodes.vty: check less libosmocore cmds In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15698 ) Change subject: tests/test_nodes.vty: check less libosmocore cmds ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I4a964b86195141e5a50705425206f3602f908999 Gerrit-Change-Number: 15698 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 20:28: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 Oct 8 20:28:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:28:38 +0000 Subject: Change in ...osmo-hlr[master]: tests/test_nodes.vty: check less libosmocore cmds In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15698 ) Change subject: tests/test_nodes.vty: check less libosmocore cmds ...................................................................... tests/test_nodes.vty: check less libosmocore cmds Use three dots to avoid checking for exact commands between help and exit, which originate from libosmocore. This avoids test failues when we slightly change the commands, like the change from "write file" to "write file [PATH]" in [1] that is currently causing the vty tests to fail. [1] libosmocore I38edcf902a08b6bd0ebb9aa6fc1a7041421af525 Change-Id: I4a964b86195141e5a50705425206f3602f908999 --- M tests/test_nodes.vty 1 file changed, 4 insertions(+), 24 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/test_nodes.vty b/tests/test_nodes.vty index bf2afaf..2be9617 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -27,12 +27,7 @@ OsmoHLR> enable OsmoHLR# list help - list - write terminal - write file - write memory - write - show running-config +... exit disable configure terminal @@ -52,12 +47,7 @@ OsmoHLR# configure terminal OsmoHLR(config)# list help - list - write terminal - write file - write memory - write - show running-config +... exit end ... @@ -66,12 +56,7 @@ OsmoHLR(config)# hlr OsmoHLR(config-hlr)# list help - list - write terminal - write file - write memory - write - show running-config +... exit end gsup @@ -92,12 +77,7 @@ OsmoHLR(config-hlr)# gsup OsmoHLR(config-hlr-gsup)# list help - list - write terminal - write file - write memory - write - show running-config +... exit end bind ip A.B.C.D -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I4a964b86195141e5a50705425206f3602f908999 Gerrit-Change-Number: 15698 Gerrit-PatchSet: 1 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 Tue Oct 8 20:29:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:29:21 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Fix race condition in f_dyn_ipa_pdch_(de)act In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15700 ) Change subject: bts: Fix race condition in f_dyn_ipa_pdch_(de)act ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I323852632341c19837bebfcf2f00d404151367a7 Gerrit-Change-Number: 15700 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:29: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 Oct 8 20:29:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:29:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Fix race condition in f_dyn_ipa_pdch_(de)act In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15700 ) Change subject: bts: Fix race condition in f_dyn_ipa_pdch_(de)act ...................................................................... bts: Fix race condition in f_dyn_ipa_pdch_(de)act Test BTS_Tests.TC_dyn_osmo_pdch_act_deact was sporadically failing due to receiving IND_INFO on the PCU port with pdch_mask related TS bit set to 0 after sending a PDCH ACT. That happened due to a race condition because PCU send IND_INFO periodically. As a result, it can happen that BTS sends an IND_INFO after PCU.clear was called and before the PDCH ACT is handled. Commit 446e07bc77ba2a1d08673cfeda6d4b6a72f49a77 already did same fix for f_dyn_ipa_pdch_(de)act() family, but didn't change this one. Change-Id: I323852632341c19837bebfcf2f00d404151367a7 --- M bts/BTS_Tests.ttcn 1 file changed, 18 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2c11ca2..f2861d1 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4899,13 +4899,21 @@ PCU.clear; f_rsl_chan_act(g_pars.chan_mode); /* expect INFO_IND on PCU interface listing TS as PDCH */ + timer T_wait := 2.0; + T_wait.start; alt { [] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd { if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '1'B) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "PCUIF_INFO_IND PDCH_MASK not '1' after PDCH ACT"); + log("PCUIF_INFO_IND PDCH_MASK not yet '1' after PDCH ACT on TS", g_chan_nr.tn, + " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask); + repeat; } } [] PCU.receive { repeat; } + [] T_wait.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Timeout waiting for PCUIF_INFO_IND PDCH_MASK to be '1' on TS", g_chan_nr.tn)); + } } /* try to activate this PDCH from the PCU point of view */ PCU.send(t_SD_PCUIF(pcu_conn_id, ts_PCUIF_ACT_REQ(bts_nr, trx_nr, g_chan_nr.tn))); @@ -4919,13 +4927,21 @@ PCU.clear; RSL.send(ts_RSL_RF_CHAN_REL(g_chan_nr)); /* expect BTS to ask PCU to deactivate the channel */ + timer T_wait := 2.0; + T_wait.start; alt { [] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd { if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '0'B) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "PCUIF_INFO_IND PDCH_MASK not '0' after PDCH DEACT"); + log("PCUIF_INFO_IND PDCH_MASK not yet '0' after PDCH DEACT on TS", g_chan_nr.tn, + " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask); + repeat; } } [] PCU.receive { repeat; } + [] T_wait.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Timeout waiting for PCUIF_INFO_IND PDCH_MASK to be '0' on TS", g_chan_nr.tn)); + } } /* Emulate PCU asking BTS to deactivate PDCH */ PCU.send(t_SD_PCUIF(pcu_conn_id, ts_PCUIF_DEACT_REQ(bts_nr, trx_nr, g_chan_nr.tn))); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I323852632341c19837bebfcf2f00d404151367a7 Gerrit-Change-Number: 15700 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 Tue Oct 8 20:31:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:31:24 +0000 Subject: Change in ...osmo-sgsn[master]: ranap: add non-spec X1001 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 ) Change subject: ranap: add non-spec X1001 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 Gerrit-Change-Number: 15701 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 20: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 Oct 8 20:31:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:31:25 +0000 Subject: Change in ...osmo-sgsn[master]: ranap: add non-spec X1001 In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 ) Change subject: ranap: add non-spec X1001 ...................................................................... ranap: add non-spec X1001 When the SGSN releases a RANAP connection, it sends a Release Command and waits for a Release Complete. Use X1001 to release the Iu connection when the Release Complete is lost/never received. Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 --- M src/sgsn/gprs_ranap.c M src/sgsn/sgsn_vty.c M tests/test_nodes.vty 3 files changed, 12 insertions(+), 3 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/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 9c7a5db..7a33491 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -25,6 +25,7 @@ #include #include +#include #include @@ -162,8 +163,6 @@ return rc; } -/* TODO: use timers */ -#define TIMEOUT_RANAP_RELEASE_SEC 5 void sgsn_ranap_iu_free(struct sgsn_mm_ctx *ctx) { if (!ctx) @@ -179,15 +178,19 @@ void sgsn_ranap_iu_release_free(struct sgsn_mm_ctx *ctx, const struct RANAP_Cause *cause) { + unsigned long X1001; + if (!ctx) return; if (!ctx->iu.ue_ctx) return; + X1001 = osmo_tdef_get(sgsn->cfg.T_defs, -1001, OSMO_TDEF_S, -1); + ranap_iu_tx_release_free(ctx->iu.ue_ctx, cause, - TIMEOUT_RANAP_RELEASE_SEC); + (int) X1001); ctx->iu.ue_ctx = NULL; } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 17b64c8..14248d1 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -90,6 +90,9 @@ #define GSM0408_T3395_SECS 8 /* wait for DEACT PDP CTX ACK */ #define GSM0408_T3397_SECS 8 /* wait for DEACT AA PDP CTX ACK */ +/* Non spec timer */ +#define NONSPEC_X1001_SECS 5 /* wait for a RANAP Release Complete */ + static struct osmo_tdef sgsn_T_defs[] = { { .T=3312, .default_val=GSM0408_T3312_SECS, .desc="Periodic RA Update timer (s)" }, @@ -105,6 +108,8 @@ { .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=-1001, .default_val=NONSPEC_X1001_SECS, .desc="RANAP Release timeout. Wait for RANAP Release Complete." + "On expiry release Iu connection (s)" }, { .T=-3314, .default_val=GSM0408_T3314_SECS, .desc="Iu User inactivity timer. On expiry release Iu connection (s)" }, {} }; diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index b9cf91e..18bccc8 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -12,6 +12,7 @@ T3386 = 8 s Wait for MODIFY PDP CTX ACK timer (s) (default: 8 s) T3395 = 8 s Wait for DEACT PDP CTX ACK timer (s) (default: 8 s) T3397 = 8 s Wait for DEACT AA PDP CTX ACK timer (s) (default: 8 s) +X1001 = 5 s RANAP Release timeout. Wait for RANAP Release Complete.On expiry release Iu connection (s) (default: 5 s) X3314 = 44 s Iu User inactivity timer. On expiry release Iu connection (s) (default: 44 s) OsmoSGSN# configure terminal OsmoSGSN(config)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756 Gerrit-Change-Number: 15701 Gerrit-PatchSet: 4 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 Tue Oct 8 20:31:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:31:54 +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 12: Code-Review+2 -- 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: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 20:31: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 Oct 8 20:31:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:31:57 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( 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, 6 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/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index afae369..b6b1685 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1699,6 +1699,12 @@ mm_ctx_cleanup_free(mmctx, "GPRS RA UPDATE REJ"); else if (llme) gprs_llgmm_unassign(llme); +#ifdef BUILD_IU + else if (MSG_IU_UE_CTX(msg)) { + unsigned long X1001 = osmo_tdef_get(sgsn->cfg.T_defs, -1001, OSMO_TDEF_S, -1); + ranap_iu_tx_release_free(MSG_IU_UE_CTX(msg), NULL, (int) X1001); + } +#endif 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: 13 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 Oct 8 20:33:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:33:39 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15702 ) Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 20:33: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 Oct 8 20:34:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:34:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: delay f_gmm_attach() by 50ms In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 ) Change subject: sgsn: delay f_gmm_attach() by 50ms ...................................................................... Patch Set 2: Code-Review+2 i woner if 50ms is sufficient, but lets give it a try :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 Gerrit-Change-Number: 15703 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, 08 Oct 2019 20:34: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 Oct 8 20:37:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:37:17 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps paging into gprs_gb In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps paging into gprs_gb ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c File src/sgsn/gprs_gb.c: https://gerrit.osmocom.org/#/c/15547/2/src/sgsn/gprs_gb.c at 90 PS2, Line 90: /* FIXME: page whole routing area, not only the last known cell */ > I'm not sure if paging should be done at all for MS in SUSPEND. [?] I also would assume that packet paging while in SUSPEND is actually a contradiction in itself. IF the MS sends us a GMM SUSPEND, then it's to tell us that it's entering dedicated mode on circuit-switched services (and is not DTM capable), and hence not reachable for GPRS. But this can be adressed in a separate follow-up patch. -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:37: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 Oct 8 20:37:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:37:23 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps paging into gprs_gb In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps paging into gprs_gb ...................................................................... Patch Set 3: 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: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 20:37: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 Oct 8 20:38:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:38:19 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_mm_ctx_alloc(): check for unallocated fsms In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 ) Change subject: sgsn_mm_ctx_alloc(): check for unallocated fsms ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15704/1/src/sgsn/gprs_sgsn.c File src/sgsn/gprs_sgsn.c: https://gerrit.osmocom.org/#/c/15704/1/src/sgsn/gprs_sgsn.c at 270 PS1, Line 270: osmo_fsm_inst_free(ctx->iu.mm_state_fsm); > it does not guard against it. it would be worth a separate change to libosmocore to fix that. However, applications still must have their own null-checks for the time being, as long as they still work with older released libosmocore versions :/ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 Gerrit-Change-Number: 15704 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:38:19 +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 Oct 8 20:38:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:38:32 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_mm_ctx_alloc(): check for unallocated fsms In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 ) Change subject: sgsn_mm_ctx_alloc(): check for unallocated fsms ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 Gerrit-Change-Number: 15704 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 20:38: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 Oct 8 20:43:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:43:23 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 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, 08 Oct 2019 20:43: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 Oct 8 20:44:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 8 Oct 2019 20:44:03 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15706 ) Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 08 Oct 2019 20:44: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 Oct 8 21:50:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 21:50:14 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use the actual ARFCN for outgoing PCUIF messages Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15713 Change subject: L1SAP: use the actual ARFCN for outgoing PCUIF messages ...................................................................... L1SAP: use the actual ARFCN for outgoing PCUIF messages Change-Id: I07b3aac97603d85fb6cf077d3a342b12b0643171 --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/15713/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 67d569b..0696fab 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -802,10 +802,10 @@ } else { /* forward RTS.ind to PCU */ if (L1SAP_IS_PTCCH(rts_ind->fn)) { - pcu_tx_rts_req(&trx->ts[tn], 1, fn, 1 /* ARFCN */, + pcu_tx_rts_req(&trx->ts[tn], 1, fn, trx->arfcn, L1SAP_FN2PTCCHBLOCK(fn)); } else { - pcu_tx_rts_req(&trx->ts[tn], 0, fn, 0 /* ARFCN */, + pcu_tx_rts_req(&trx->ts[tn], 0, fn, trx->arfcn, L1SAP_FN2MACBLOCK(fn)); } /* return early, PCU takes care of rest */ @@ -1135,7 +1135,7 @@ return -EINVAL; if (L1SAP_IS_PTCCH(fn)) { pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PTCCH, fn, - 0 /* ARFCN */, L1SAP_FN2PTCCHBLOCK(fn), + trx->arfcn, L1SAP_FN2PTCCHBLOCK(fn), data, len, rssi, data_ind->ber10k, data_ind->ta_offs_256bits/64, data_ind->lqual_cb); @@ -1144,7 +1144,7 @@ if (pr_info != PRES_INFO_BOTH) return 0; /* PDTCH / PACCH frame handling */ - pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, 0 /* ARFCN */, + pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, trx->arfcn, L1SAP_FN2MACBLOCK(fn), data, len, rssi, data_ind->ber10k, data_ind->ta_offs_256bits/64, data_ind->lqual_cb); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07b3aac97603d85fb6cf077d3a342b12b0643171 Gerrit-Change-Number: 15713 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 Oct 8 21:50:15 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 21:50:15 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15714 Change subject: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U ...................................................................... L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U Change-Id: Id69010ffa8c697e8c01bbb21509253c330f95343 --- M src/common/l1sap.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/15714/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 0696fab..7d403f0 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -333,13 +333,6 @@ if (L1SAP_IS_PTCCH(fn)) { *chan_type = GSMTAP_CHANNEL_PTCCH; *ss = L1SAP_FN2PTCCHBLOCK(fn); - if (l1sap->oph.primitive == PRIM_OP_INDICATION) { - OSMO_ASSERT(len > 0); - if ((*data[0]) == 7) - return -EINVAL; - (*data)++; - (*len)--; - } } else *chan_type = GSMTAP_CHANNEL_PACCH; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id69010ffa8c697e8c01bbb21509253c330f95343 Gerrit-Change-Number: 15714 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 Oct 8 21:50:15 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 21:50:15 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15715 Change subject: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default ...................................................................... L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default We don't know whether a data block on PDCH belongs to PDTCH or PACCH without parsing it, because the latter one is being allocated on demand. Let's use GSMTAP_CHANNEL_PDTCH by default, rather than GSMTAP_CHANNEL_PACCH. Change-Id: I7639215ef936a8ac05ca417a91f4e12755f318d4 --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/15715/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 7d403f0..87ef01b 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -333,8 +333,10 @@ if (L1SAP_IS_PTCCH(fn)) { *chan_type = GSMTAP_CHANNEL_PTCCH; *ss = L1SAP_FN2PTCCHBLOCK(fn); - } else - *chan_type = GSMTAP_CHANNEL_PACCH; + } else { + /* TODO: distinguish PACCH */ + *chan_type = GSMTAP_CHANNEL_PDTCH; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7639215ef936a8ac05ca417a91f4e12755f318d4 Gerrit-Change-Number: 15715 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 Oct 8 21:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 21:50:16 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15716 Change subject: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them ...................................................................... L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d --- M src/common/l1sap.c 1 file changed, 19 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/16/15716/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 87ef01b..ffb638e 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1109,11 +1109,21 @@ DEBUGPGT(DL1P, &g_time, "Rx PH-DATA.ind chan_nr=%s link_id=0x%02x len=%d\n", rsl_chan_nr_str(chan_nr), link_id, len); + /* Actually, there can be no DATA.ind on PTCCH/U (rather RACH.ind instead), + * but some BTS models with buggy implementation may still be sending them + * to us. Let's keep this for backwards compatibility. */ + if (L1SAP_IS_CHAN_PDCH(chan_nr) && L1SAP_IS_PTCCH(fn)) { + LOGPGT(DL1P, LOGL_NOTICE, &g_time, "There can be no DATA.ind on PTCCH/U. " + "This is probably a bug of the BTS model you're using, please fix!\n"); + return -EINVAL; + + } + if (ts_is_pdch(&trx->ts[tn])) { lchan = get_lchan_by_chan_nr(trx, chan_nr); if (!lchan) LOGPGT(DL1P, LOGL_ERROR, &g_time, "No lchan for chan_nr=%s\n", rsl_chan_nr_str(chan_nr)); - if (lchan && lchan->loopback && !L1SAP_IS_PTCCH(fn)) { + if (lchan && lchan->loopback) { /* we are in loopback mode (for BER testing) * mode and need to enqeue the frame to be * returned in downlink */ @@ -1128,21 +1138,14 @@ /* don't send bad frames to PCU */ if (len == 0) return -EINVAL; - if (L1SAP_IS_PTCCH(fn)) { - pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PTCCH, fn, - trx->arfcn, L1SAP_FN2PTCCHBLOCK(fn), - data, len, rssi, data_ind->ber10k, - data_ind->ta_offs_256bits/64, - data_ind->lqual_cb); - } else { - /* drop incomplete UL block */ - if (pr_info != PRES_INFO_BOTH) - return 0; - /* PDTCH / PACCH frame handling */ - pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, trx->arfcn, - L1SAP_FN2MACBLOCK(fn), data, len, rssi, data_ind->ber10k, - data_ind->ta_offs_256bits/64, data_ind->lqual_cb); - } + /* drop incomplete UL block */ + if (pr_info != PRES_INFO_BOTH) + return 0; + + /* PDTCH / PACCH frame handling */ + pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, trx->arfcn, + L1SAP_FN2MACBLOCK(fn), data, len, rssi, data_ind->ber10k, + data_ind->ta_offs_256bits/64, data_ind->lqual_cb); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d Gerrit-Change-Number: 15716 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 Oct 8 21:51:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 8 Oct 2019 21:51:20 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps paging into gprs_gb In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps paging into gprs_gb ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15547/3/include/osmocom/sgsn/gprs_gb.h File include/osmocom/sgsn/gprs_gb.h: https://gerrit.osmocom.org/#/c/15547/3/include/osmocom/sgsn/gprs_gb.h at 13 PS3, Line 13: /* page a MS in it routing area */ > Done nope -- 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: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 08 Oct 2019 21:51:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Oct 8 22:17:17 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 08 Oct 2019 22:17:17 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9d0af75b655_54662ab2962285f8494673@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: [ 408s] ar: `u' modifier ignored since `D' is the default (see `U') [ 408s] libtool: link: ranlib .libs/libtransceiver_common.a [ 408s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 408s] /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 [ 409s] 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 [ 409s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 409s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 409s] collect2: error: ld returned 1 exit status [ 409s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 409s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 409s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 409s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 409s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 409s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 409s] make[1]: *** [Makefile:444: all] Error 2 [ 409s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 409s] dh_auto_build: make -j1 returned exit code 2 [ 409s] make: *** [debian/rules:6: build] Error 255 [ 409s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 409s] [ 409s] morla5 failed "build osmo-trx_1.1.1.dsc" at Tue Oct 8 22:17:02 UTC 2019. [ 409s] [ 409s] ### VM INTERACTION START ### [ 412s] [ 393.133229] sysrq: SysRq : Power Off [ 412s] [ 393.146884] reboot: Power down [ 412s] ### VM INTERACTION END ### [ 412s] [ 412s] morla5 failed "build osmo-trx_1.1.1.dsc" at Tue Oct 8 22:17:06 UTC 2019. [ 412s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Oct 8 22:52:18 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 8 Oct 2019 22:52:18 +0000 Subject: Change in ...osmo-trx[master]: add XTRX support In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 ) Change subject: add XTRX support ...................................................................... Patch Set 1: (19 comments) https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp File Transceiver52M/device/xtrx/XTRXDevice.cpp: https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 37 PS1, Line 37: static int time_tx_corr = 60; //20+20+20+20+20; > 20+20+20+20+20 is not 60 lol Good point. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 49 PS1, Line 49: << " rx_path(0): " << (rx_paths.size() ? rx_paths[0] : "<>") > I don't remember now how tx_paths/rx_pathsa re generated, but I bet it's always populated to be size [?] Looks like it can be 0 if we don't specify rx/tx-path in the config file. Plus, does it really hurt to have here? Esp if no one remembers is it can be zero or not? https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 52 PS1, Line 52: txsps = tx_sps; > You can probably set those around line 42 out of the body of the function (constructor initializers) [?] Yes, but it looks cleaner here and doesn't affect performance. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 173 PS1, Line 173: bool XTRXDevice::start() > trailing whitespace Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 177 PS1, Line 177: return false; > would be great checking other devices to see if we actually return true here. What do you mean by "other devices" here? https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 194 PS1, Line 194: xtrx_set_antenna(device, XTRX_TX_AUTO); > so rx_path/tx_path VTY params are not really used yet? Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 230 PS1, Line 230: bool XTRXDevice::stop() > trailing whitespace Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 265 PS1, Line 265: } > trailing whitespace Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 280 PS1, Line 280: int res = xtrx_set_gain(device, XTRX_CH_AB, XTRX_TX_PAD_GAIN, dB - 30, &txGain); > db - 30 ? I'll ask Sergey why is it done this way but I'm sure there is a reason for that. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 311 PS1, Line 311: TIMESTAMP timestamp, bool *underrun, unsigned *RSSI) > Please fix indenting for params, they should be under the "(" character. ( in all functions!). Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 322 PS1, Line 322: int res = xtrx_recv_sync_ex(device, &ri); > You probably need to add code to use smpl_buf in here later on, not needed for now though. Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 345 PS1, Line 345: if (!started) > I think this should never happen, because Transceiver stops threads calling this function on those c [?] Does it hurt to check, just to be sure? https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 361 PS1, Line 361: if (*underrun) { > No need for brackets here. Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 370 PS1, Line 370: LOG(ALERT) << "CH" << chan << ": RX ANTENNA: " << ant.c_str(); > probably want to add "(Not implemented)" here. Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 401 PS1, Line 401: bool XTRXDevice::updateAlignment(TIMESTAMP timestamp) > trailing whitespace Ack https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 403 PS1, Line 403: LOG(ALERT) << "Update Aligment " << timestamp; > Since requiresRadioAlign() returns false, this should never be called, right? Correct. But it's an abstract virtual function and thus must be implemented. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 419 PS1, Line 419: << " actual freq: " << actual << std::endl; > Fix indent. Ack https://gerrit.osmocom.org/#/c/15685/1/contrib/systemd/Makefile.am File contrib/systemd/Makefile.am: https://gerrit.osmocom.org/#/c/15685/1/contrib/systemd/Makefile.am at 25 PS1, Line 25: EXTRA_DIST = $(SYSTEMD_SERVICES) > That's wrong I'd say. [?] Ack https://gerrit.osmocom.org/#/c/15685/1/doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg File doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg: https://gerrit.osmocom.org/#/c/15685/1/doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg at 21 PS1, Line 21: tx-path BAND1 > Do you use same names for tx/rx paths as LimeSUite? Otherwise this is wrong. Ok, I think we should remove these since we're ignoring them anyway. We're not specifying them for UmTRX as well since the driver knows better which path to use, based on frequency. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 1 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: ipse Gerrit-Comment-Date: Tue, 08 Oct 2019 22:52: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 Tue Oct 8 22:59:04 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 8 Oct 2019 22:59:04 +0000 Subject: Change in ...osmo-trx[master]: Initial XTRX support In-Reply-To: References: Message-ID: ipse has uploaded a new patch set (#2) to the change originally created by rauf.gyulaliev at fairwaves.co. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 ) Change subject: Initial XTRX support ...................................................................... Initial XTRX support Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 --- M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/xtrx/Makefile.am A Transceiver52M/device/xtrx/XTRXDevice.cpp A Transceiver52M/device/xtrx/XTRXDevice.h M configure.ac M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-xtrx.service M debian/control A debian/osmo-trx-xtrx.install M doc/examples/Makefile.am A doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg 12 files changed, 733 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/85/15685/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 2 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 8 23:00:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 23:00:47 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps paging into gprs_gb In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 to look at the new patch set (#4). Change subject: sgsn_libgtp: refactor ps paging into gprs_gb ...................................................................... sgsn_libgtp: refactor ps 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/4 -- 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: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Oct 8 23:12:01 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 23:12:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: delay f_gmm_attach() by 50ms In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 ) Change subject: sgsn: delay f_gmm_attach() by 50ms ...................................................................... sgsn: delay f_gmm_attach() by 50ms Packets sent by f_gmm_attach() might take too long via layers to reach the SGSN. The GMM_ATTACH_COMPL in f_gmm_attach() took soo long, that it arrived after packets, which has been sent after calling f_gmm_attach(). This behaviour was found in TC hlr_location_cancel_request_update(). Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 8 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/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 281dcc9..a89a949 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -784,6 +784,14 @@ if (is_iu(ran_index)) { as_iu_release_compl_disc(); } + + /* Race condition + * It has shown, that GMM_ATTACH_COMPL might take some time to arrive at the SGSN through the layers. + * In TC hlr_location_cancel_request_update, the GMM_ATTACH_COMPL came 2ms too late, so that the Location Cancel Request + * arrived before it. This results in a test case failure. + * Delay execution by 50 ms + */ + f_sleep(0.05); } private function f_TC_attach(charstring id) runs on BSSGP_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5 Gerrit-Change-Number: 15703 Gerrit-PatchSet: 3 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 Oct 8 23:13:10 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 23:13:10 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_mm_ctx_alloc(): check for unallocated fsms In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 ) Change subject: sgsn_mm_ctx_alloc(): check for unallocated fsms ...................................................................... sgsn_mm_ctx_alloc(): check for unallocated fsms Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 --- M src/sgsn/gprs_sgsn.c 1 file changed, 25 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/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 474f8f9..cb2c0fc 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -243,17 +243,42 @@ talloc_free(ctx); return NULL; } + ctx->gmm_fsm = osmo_fsm_inst_alloc(&gmm_fsm, ctx, ctx, LOGL_DEBUG, "gmm_fsm"); + if (!ctx->gmm_fsm) + goto out; ctx->gmm_att_req.fsm = osmo_fsm_inst_alloc(&gmm_attach_req_fsm, ctx, ctx, LOGL_DEBUG, "gb_gmm_req"); + if (!ctx->gmm_att_req.fsm) + goto out; ctx->gb.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_gb_fsm, ctx, ctx, LOGL_DEBUG, NULL); + if (!ctx->gb.mm_state_fsm) + goto out; #ifdef BUILD_IU ctx->iu.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_iu_fsm, ctx, ctx, LOGL_DEBUG, NULL); + if (!ctx->iu.mm_state_fsm) + goto out; #endif + INIT_LLIST_HEAD(&ctx->pdp_list); llist_add(&ctx->list, &sgsn_mm_ctxts); return ctx; + +out: + if (ctx->iu.mm_state_fsm) + osmo_fsm_inst_free(ctx->iu.mm_state_fsm); + if (ctx->gb.mm_state_fsm) + osmo_fsm_inst_free(ctx->gb.mm_state_fsm); + if (ctx->gmm_att_req.fsm) + osmo_fsm_inst_free(ctx->gmm_att_req.fsm); + if (ctx->gmm_fsm) + osmo_fsm_inst_free(ctx->gmm_fsm); + + rate_ctr_group_free(ctx->ctrg); + talloc_free(ctx); + + return NULL; } /* Allocate a new SGSN MM context for GERAN_Gb */ struct sgsn_mm_ctx *sgsn_mm_ctx_alloc_gb(uint32_t tlli, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I867612a60236eaf7009400c92f5d871006aaf008 Gerrit-Change-Number: 15704 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 Tue Oct 8 23:33:37 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 8 Oct 2019 23:33:37 +0000 Subject: Change in ...osmo-pcu[master]: encoding: fix space, tabs Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15717 Change subject: encoding: fix space, tabs ...................................................................... encoding: fix space, tabs Change-Id: I80ac88f50bfedfd2b86d548883313b5a187b1e8f --- M src/encoding.cpp 1 file changed, 30 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/17/15717/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 8270354..b46f568 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -96,21 +96,21 @@ */ static int write_tfi_usf(bitvec *dest, const gprs_rlcmac_ul_tbf *tbf, uint8_t usf) { - int rc = bitvec_set_u64(dest, tbf->tfi(), 5, false); /* TFI_ASSIGNMENT */ - CHECK(rc); + int rc = bitvec_set_u64(dest, tbf->tfi(), 5, false); /* TFI_ASSIGNMENT */ + CHECK(rc); - SET_0(dest); /* POLLING -- no action is required from MS */ + SET_0(dest); /* POLLING -- no action is required from MS */ - SET_0(dest); + SET_0(dest); - rc = bitvec_set_u64(dest, usf, 3, false); /* USF */ - CHECK(rc); + rc = bitvec_set_u64(dest, usf, 3, false); /* USF */ + CHECK(rc); - SET_0(dest); /* USF_GRANULARITY -- the mobile station shall transmit one RLC/MAC block */ + SET_0(dest); /* USF_GRANULARITY -- the mobile station shall transmit one RLC/MAC block */ - SET_0(dest); /* No P0 nor PR_MODE */ + SET_0(dest); /* No P0 nor PR_MODE */ - return 0; + return 0; } /* { 0 | 1 < TIMING_ADVANCE_INDEX : bit (4) > } */ @@ -201,11 +201,11 @@ rc = write_alpha_gamma(dest, alpha, gamma); CHECK(rc); - rc = bitvec_set_bit(dest, (bit_value)polling); /* POLLING */ + rc = bitvec_set_bit(dest, (bit_value) polling); /* POLLING */ CHECK(rc); /* N. B: NOT related to TAI! */ - rc = bitvec_set_bit(dest, (bit_value)ta_valid); /* TA_VALID */ + rc = bitvec_set_bit(dest, (bit_value) ta_valid); /* TA_VALID */ CHECK(rc); rc = write_ta_index(dest, ta_idx); @@ -215,7 +215,7 @@ SET_1(dest); rc = write_tbf_start_time(dest, fn); CHECK(rc); - } else + } else SET_0(dest); SET_0(dest); /* No P0 nor PR_MODE */ @@ -225,7 +225,7 @@ rc = bitvec_set_u64(dest, enc_ws(tbf->window_size()), 5, false); /* EGPRS Window Size */ CHECK(rc); - /* The mobile station shall not report measurements: (see 3GPP TS 44.060 Table 11.2.7.1) */ + /* The mobile station shall not report measurements: (see 3GPP TS 44.060 Table 11.2.7.1) */ SET_0(dest); SET_0(dest); /* LINK_QUALITY_MEASUREMENT_MODE */ SET_1(dest); /* No BEP_PERIOD2 */ } else @@ -867,16 +867,16 @@ /* static size of 16 bits ..1. .... = ACKNACK: (Union) 0 0000 000 Length - Desc - - ...0 .... = FINAL_ACK_INDICATION: False - - .... 1... = BEGINNING_OF_WINDOW: 1 - - .... .1.. = END_OF_WINDOW: 1 - - .... ..10 0101 0001 1... .... = STARTING_SEQUENCE_NUMBER: 1187 - + Desc + + ...0 .... = FINAL_ACK_INDICATION: False + + .... 1... = BEGINNING_OF_WINDOW: 1 + + .... .1.. = END_OF_WINDOW: 1 + + .... ..10 0101 0001 1... .... = STARTING_SEQUENCE_NUMBER: 1187 + .0.. .... = CRBB Exist: 0 minimal size is 24 rest_bits */ rest_bits -= 24; @@ -1051,15 +1051,15 @@ { unsigned wp = 0; - bitvec_write_field(dest, &wp,0x1,2); // Payload Type - bitvec_write_field(dest, &wp,0x0,3); // No polling - bitvec_write_field(dest, &wp,0x0,3); // Uplink state flag - bitvec_write_field(dest, &wp,0x22,6); // MESSAGE TYPE + bitvec_write_field(dest, &wp, 0x1, 2); // Payload Type + bitvec_write_field(dest, &wp, 0x0, 3); // No polling + bitvec_write_field(dest, &wp, 0x0, 3); // Uplink state flag + bitvec_write_field(dest, &wp, 0x22, 6); // MESSAGE TYPE - bitvec_write_field(dest, &wp,0x0,2); // Page Mode + bitvec_write_field(dest, &wp, 0x0, 2); // Page Mode - bitvec_write_field(dest, &wp,0x0,1); // No PERSISTENCE_LEVEL - bitvec_write_field(dest, &wp,0x0,1); // No NLN + bitvec_write_field(dest, &wp, 0x0, 1); // No PERSISTENCE_LEVEL + bitvec_write_field(dest, &wp, 0x0, 1); // No NLN return wp; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I80ac88f50bfedfd2b86d548883313b5a187b1e8f Gerrit-Change-Number: 15717 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Oct 9 04:06:43 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 09 Oct 2019 04:06:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9d5ce429a19_54662ab2962285f8544074@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: [ 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 [ 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] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Wed Oct 9 04:06:22 UTC 2019. [ 424s] [ 424s] ### VM INTERACTION START ### [ 427s] [ 407.892969] sysrq: SysRq : Power Off [ 427s] [ 407.897515] reboot: Power down [ 427s] ### VM INTERACTION END ### [ 427s] [ 427s] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Wed Oct 9 04:06:26 UTC 2019. [ 427s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Oct 9 07:30:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 07:30:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2) to the change originally created by lynxis lazus. ( 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 I had to use the more verbose alt{} statement, instead of the recently added f_rx_rlcmac_dl_block_exp_dummy function, because the latter does not handle incoming PCU_IF_MSG_TIME_IND messages. Related: OS#3927 Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 45 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/15623/2 -- 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: 2 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-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 07:32:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 07:32:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts In-Reply-To: References: Message-ID: osmith 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 2: (9 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 Done 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). [?] Done 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? Done 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. [?] I've tried to find a reference, but could not find one after spending half an hour on this :/ I've mostly looked in 3GPP TS 44.060. 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? Done 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? No, chan_needed is just an uint8_t: https://git.osmocom.org/osmo-ttcn3-hacks/tree/library/PCUIF_Types.ttcn?id=42d3cadb05c7bf648da2eea809192359477721fa#n615 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. [?] Done 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. Done https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 743 PS1, Line 743: /* FIXME: this never arrives! */ > FIXME? Done -- 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: 2 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: Wed, 09 Oct 2019 07:32:38 +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 Wed Oct 9 07:39:31 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 07:39:31 +0000 Subject: Change in ...osmo-pcu[master]: encoding: fix space, tabs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15717 ) Change subject: encoding: fix space, tabs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I80ac88f50bfedfd2b86d548883313b5a187b1e8f Gerrit-Change-Number: 15717 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 09 Oct 2019 07:39: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 Oct 9 07:40:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 07:40:15 +0000 Subject: Change in ...osmo-pcu[master]: encoding: fix space, tabs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15717 ) Change subject: encoding: fix space, tabs ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15717/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15717/1//COMMIT_MSG at 7 PS1, Line 7: encoding: fix space, tabs Prefix with "Cosmetic: "? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I80ac88f50bfedfd2b86d548883313b5a187b1e8f Gerrit-Change-Number: 15717 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 09 Oct 2019 07:40:15 +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 Oct 9 07:46:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 07:46:36 +0000 Subject: Change in ...osmo-msc[master]: make vlr_gmm_cause_to_mm_cause public In-Reply-To: References: Message-ID: osmith 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 4: Code-Review+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: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 07:46: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 Oct 9 07:46:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 07:46:40 +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: osmith 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 4: Code-Review+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: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 07:46: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 Wed Oct 9 08:12:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 08:12:55 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: osmith 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 (3 comments) -1 for lock instead of unlock https://gerrit.osmocom.org/#/c/15560/6/src/logging.c File src/logging.c: https://gerrit.osmocom.org/#/c/15560/6/src/logging.c at 924 PS6, Line 924: /*! Find a registered log target. (unrelated change) https://gerrit.osmocom.org/#/c/15560/6/src/logging.c at 1014 PS6, Line 1014: log_tgt_mutex_lock(); Shouldn't this be log_tgt_mutex_unlock()? https://gerrit.osmocom.org/#/c/15560/6/src/vty/logging_vty.c File src/vty/logging_vty.c: https://gerrit.osmocom.org/#/c/15560/6/src/vty/logging_vty.c at 122 PS6, Line 122: How about placing these two macros in a header file, and using them in gprs_bssgp_vty.c and gprs_ns_vty.c too? -- 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: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 08:12: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 Oct 9 08:16:52 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 08:16:52 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15670 ) Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 08:16: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 Wed Oct 9 08:20:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 08:20:22 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15702 ) Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 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: Wed, 09 Oct 2019 08:20: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 Oct 9 08:53:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 08:53:30 +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 2: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/15623/2/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15623/2/pcu/PCU_Tests_RAW.ttcn at 1040 PS2, Line 1040: := Missing space. https://gerrit.osmocom.org/#/c/15623/2/pcu/PCU_Tests_RAW.ttcn at 1050 PS2, Line 1050: tr_RLCMAC_DUMMY_CTRL Wait, this is not Paging, this is PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK. If you look at live captures of PDCH, you will see most of them have normal paging mode. Where is the LV you're sending with ts_PCUIF_PAG_REQ? https://gerrit.osmocom.org/#/c/15623/2/pcu/PCU_Tests_RAW.ttcn at 1056 PS2, Line 1056: PCU_IF_MSG_TIME_IND We don't have time indications on the BTS port, please remove this comment. -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 08:53: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 Wed Oct 9 09:01:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 09:01:44 +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 2: (1 comment) https://gerrit.osmocom.org/#/c/15623/2/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15623/2/pcu/PCU_Tests_RAW.ttcn at 1050 PS2, Line 1050: tr_RLCMAC_DUMMY_CTRL > Wait, this is not Paging, this is PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK. [?] See 3GPP TS 44.060, section 11.2.10 "Packet Paging Request". -- 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: 2 Gerrit-Owner: lynxis lazus Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 09:01:44 +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 Wed Oct 9 10:02:04 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 9 Oct 2019 10:02:04 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15706 ) Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15706/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/#/c/15706/1/src/osmo-bts-trx/scheduler_trx.c at 1710 PS1, Line 1710: /* Set up timeout to shutdown BTS if no clock ind is received in 10 10 seconds looks like way too long. IIRC, clock ind is sent every second, so ~3 seconds should be enough to detect an issue. We always want to detect issues and recover as fast as possible to minimize potential impact on users. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: ipse Gerrit-Comment-Date: Wed, 09 Oct 2019 10:02:04 +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 Oct 9 10:37:32 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 9 Oct 2019 10:37:32 +0000 Subject: Change in ...osmo-trx[master]: Initial XTRX support In-Reply-To: References: Message-ID: ipse has uploaded a new patch set (#3) to the change originally created by rauf.gyulaliev at fairwaves.co. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 ) Change subject: Initial XTRX support ...................................................................... Initial XTRX support Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 --- M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/xtrx/Makefile.am A Transceiver52M/device/xtrx/XTRXDevice.cpp A Transceiver52M/device/xtrx/XTRXDevice.h M configure.ac M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-xtrx.service M debian/control A debian/osmo-trx-xtrx.install M doc/examples/Makefile.am A doc/examples/osmo-trx-xtrx/osmo-trx-xtrx.cfg 12 files changed, 736 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/85/15685/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 3 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 10:55:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 10:55:46 +0000 Subject: Change in ...libosmo-netif[master]: tests: osmux_test: Provide More accurate logging expectancies In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15670 ) Change subject: tests: osmux_test: Provide More accurate logging expectancies ...................................................................... tests: osmux_test: Provide More accurate logging expectancies Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 --- M tests/osmux/osmux_test.c M tests/osmux/osmux_test.ok M tests/testsuite.at 3 files changed, 1,096 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 6825b56..7fa9af7 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -69,7 +69,7 @@ struct timeval tv; \ osmo_clock_gettime(CLOCK_MONOTONIC, &ts); \ osmo_gettimeofday(&tv, NULL); \ - printf("sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt, \ + fprintf(stderr, "sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt, \ tv.tv_sec, tv.tv_usec, ts.tv_sec, ts.tv_nsec/1000, ##args); \ } while(0) @@ -86,7 +86,7 @@ if (dbg) clock_debug("clock_override_add\n"); } -#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, false) +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, true) static void tx_cb(struct msgb *msg, void *data) { @@ -100,7 +100,7 @@ last = now; if (diff.tv_usec > 2*17000) { - fprintf(stdout, "delivery of reconstructed RTP lagged" + clock_debug("delivery of reconstructed RTP lagged" " (diff.tv_usec=%u > 2*17000)\n", (unsigned int)diff.tv_usec); exit(EXIT_FAILURE); @@ -108,12 +108,12 @@ #endif osmo_rtp_snprintf(buf, sizeof(buf), msg); - fprintf(stderr, "extracted packet: %s\n", buf); + clock_debug("extracted packet: %s\n", buf); if (memcmp(msg->data + sizeof(struct rtp_hdr), rtp_pkt + sizeof(struct rtp_hdr), sizeof(rtp_pkt) - sizeof(struct rtp_hdr)) != 0) { - fprintf(stdout, "payload mismatch!\n"); + clock_debug("payload mismatch!\n"); exit(EXIT_FAILURE); } @@ -131,7 +131,7 @@ char buf[2048]; osmux_snprintf(buf, sizeof(buf), batch_msg); - fprintf(stderr, "OSMUX message (len=%d) %s\n", batch_msg->len, buf); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); /* For each OSMUX message, extract the RTP messages and put them * in a list. Then, reconstruct transmission timing. @@ -149,7 +149,7 @@ static void sigalarm_handler(int foo) { - printf("FAIL: test did not run successfully\n"); + clock_debug("FAIL: test did not run successfully\n"); exit(EXIT_FAILURE); } @@ -198,7 +198,7 @@ } if (mark_pkts) { - fprintf(stdout, "osmux_test_marker: RTP M bit (marker) mismatch! %d\n", mark_pkts); + clock_debug("osmux_test_marker: RTP M bit (marker) mismatch! %d\n", mark_pkts); exit(EXIT_FAILURE); } } @@ -230,7 +230,7 @@ } osmo_rtp_snprintf(buf, sizeof(buf), msg); - fprintf(stderr, "adding to ccid=%u %s\n", (i % 2) + ccid, buf); + clock_debug("adding to ccid=%u %s\n", (i % 2) + ccid, buf); rtp_pkts++; k++; @@ -268,7 +268,7 @@ } if (mark_pkts) { - fprintf(stdout, "osmux_test_loop: RTP M bit (marker) mismatch! %d\n", mark_pkts); + clock_debug("osmux_test_loop: RTP M bit (marker) mismatch! %d\n", mark_pkts); exit(EXIT_FAILURE); } } @@ -293,6 +293,9 @@ msgb_talloc_ctx_init(tall_ctx, 0); osmo_init_logging2(tall_ctx, &osmux_test_log_info); log_set_log_level(osmo_stderr_target, LOGL_DEBUG); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); osmux_xfrm_output_init2(&h_output, 0x7000000, 98); osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, NULL); @@ -343,6 +346,6 @@ osmux_xfrm_input_fini(&h_input); - fprintf(stdout, "OK: Test passed\n"); + clock_debug("OK: Test passed\n"); return EXIT_SUCCESS; } diff --git a/tests/osmux/osmux_test.ok b/tests/osmux/osmux_test.ok index 0f65527..b5618a3 100644 --- a/tests/osmux/osmux_test.ok +++ b/tests/osmux/osmux_test.ok @@ -1 +1,1081 @@ -OK: Test passed +DLMUX initialized osmux input converter +sys={23.444242}, mono={0.020000}: clock_override_add +sys={23.464242}, mono={0.040000}: clock_override_add +sys={23.484242}, mono={0.060000}: clock_override_add +sys={23.504242}, mono={0.080000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.504242}, mono={0.080000}: OSMUX message (len=256): OSMUX seq=000 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=001 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=002 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=003 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.504242}, mono={0.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9158 timestamp=1681692777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.524242}, mono={0.100000}: clock_override_add +sys={23.524242}, mono={0.100000}: OSMUX message (len=106): OSMUX seq=004 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=005 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=006 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=007 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.544242}, mono={0.120000}: clock_override_add +sys={23.564242}, mono={0.140000}: clock_override_add +sys={23.564242}, mono={0.140000}: OSMUX message (len=106): OSMUX seq=008 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=009 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=010 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=011 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.584242}, mono={0.160000}: clock_override_add +sys={23.604242}, mono={0.180000}: clock_override_add +sys={23.624242}, mono={0.200000}: clock_override_add +sys={23.644242}, mono={0.220000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.644242}, mono={0.220000}: OSMUX message (len=256): OSMUX seq=012 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=013 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=014 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=015 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.664242}, mono={0.240000}: clock_override_add +sys={23.664242}, mono={0.240000}: OSMUX message (len=106): OSMUX seq=016 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=017 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=018 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=019 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.684242}, mono={0.260000}: clock_override_add +sys={23.704242}, mono={0.280000}: clock_override_add +sys={23.704242}, mono={0.280000}: OSMUX message (len=106): OSMUX seq=020 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=021 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=022 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=023 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.724242}, mono={0.300000}: clock_override_add +sys={23.744242}, mono={0.320000}: clock_override_add +sys={23.764242}, mono={0.340000}: clock_override_add +sys={23.784242}, mono={0.360000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.784242}, mono={0.360000}: OSMUX message (len=256): OSMUX seq=024 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=025 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=026 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=027 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.804242}, mono={0.380000}: clock_override_add +sys={23.804242}, mono={0.380000}: OSMUX message (len=106): OSMUX seq=028 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=029 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=030 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=031 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.824242}, mono={0.400000}: clock_override_add +sys={23.844242}, mono={0.420000}: clock_override_add +sys={23.844242}, mono={0.420000}: OSMUX message (len=106): OSMUX seq=032 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=033 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=034 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=035 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.864242}, mono={0.440000}: clock_override_add +sys={23.884242}, mono={0.460000}: clock_override_add +sys={23.904242}, mono={0.480000}: clock_override_add +sys={23.924242}, mono={0.500000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.924242}, mono={0.500000}: OSMUX message (len=256): OSMUX seq=036 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=037 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=038 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=039 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.944242}, mono={0.520000}: clock_override_add +sys={23.944242}, mono={0.520000}: OSMUX message (len=106): OSMUX seq=040 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=041 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=042 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=043 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.964242}, mono={0.540000}: clock_override_add +sys={23.984242}, mono={0.560000}: clock_override_add +sys={23.984242}, mono={0.560000}: OSMUX message (len=106): OSMUX seq=044 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=045 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=046 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=047 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.004242}, mono={0.580000}: clock_override_add +sys={24.024242}, mono={0.600000}: clock_override_add +sys={24.044242}, mono={0.620000}: clock_override_add +sys={24.064242}, mono={0.640000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.064242}, mono={0.640000}: OSMUX message (len=256): OSMUX seq=048 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=049 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=050 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=051 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.084242}, mono={0.660000}: clock_override_add +sys={24.084242}, mono={0.660000}: OSMUX message (len=106): OSMUX seq=052 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=053 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=054 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=055 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.104242}, mono={0.680000}: clock_override_add +sys={24.124242}, mono={0.700000}: clock_override_add +sys={24.124242}, mono={0.700000}: OSMUX message (len=106): OSMUX seq=056 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=057 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=058 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=059 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.144242}, mono={0.720000}: clock_override_add +sys={24.164242}, mono={0.740000}: clock_override_add +sys={24.184242}, mono={0.760000}: clock_override_add +sys={24.204242}, mono={0.780000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.204242}, mono={0.780000}: OSMUX message (len=256): OSMUX seq=060 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=061 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=062 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=063 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.224242}, mono={0.800000}: clock_override_add +sys={24.224242}, mono={0.800000}: OSMUX message (len=106): OSMUX seq=064 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=065 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=066 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=067 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.244242}, mono={0.820000}: clock_override_add +sys={24.264242}, mono={0.840000}: clock_override_add +sys={24.264242}, mono={0.840000}: OSMUX message (len=106): OSMUX seq=068 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=069 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=070 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=071 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.284242}, mono={0.860000}: clock_override_add +sys={24.304242}, mono={0.880000}: clock_override_add +sys={24.324242}, mono={0.900000}: clock_override_add +sys={24.344242}, mono={0.920000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.344242}, mono={0.920000}: OSMUX message (len=256): OSMUX seq=072 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=073 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=074 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=075 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.364242}, mono={0.940000}: clock_override_add +sys={24.364242}, mono={0.940000}: OSMUX message (len=106): OSMUX seq=076 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=077 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=078 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=079 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.384242}, mono={0.960000}: clock_override_add +sys={24.404242}, mono={0.980000}: clock_override_add +sys={24.404242}, mono={0.980000}: OSMUX message (len=106): OSMUX seq=080 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=081 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=082 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=083 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.424242}, mono={1.000000}: clock_override_add +sys={24.444242}, mono={1.020000}: clock_override_add +sys={24.464242}, mono={1.040000}: clock_override_add +sys={24.484242}, mono={1.060000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.484242}, mono={1.060000}: OSMUX message (len=256): OSMUX seq=084 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=085 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=086 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=087 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.504242}, mono={1.080000}: clock_override_add +sys={24.504242}, mono={1.080000}: OSMUX message (len=106): OSMUX seq=088 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=089 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=090 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=091 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.524242}, mono={1.100000}: clock_override_add +sys={24.544242}, mono={1.120000}: clock_override_add +sys={24.544242}, mono={1.120000}: OSMUX message (len=106): OSMUX seq=092 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=093 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=094 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=095 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.564242}, mono={1.140000}: clock_override_add +sys={24.584242}, mono={1.160000}: clock_override_add +sys={24.604242}, mono={1.180000}: clock_override_add +sys={24.624242}, mono={1.200000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.624242}, mono={1.200000}: OSMUX message (len=256): OSMUX seq=096 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=097 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=098 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=099 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.644242}, mono={1.220000}: clock_override_add +sys={24.644242}, mono={1.220000}: OSMUX message (len=106): OSMUX seq=100 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=101 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=102 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=103 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.664242}, mono={1.240000}: clock_override_add +sys={24.684242}, mono={1.260000}: clock_override_add +sys={24.684242}, mono={1.260000}: OSMUX message (len=106): OSMUX seq=104 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=105 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=106 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=107 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.704242}, mono={1.280000}: clock_override_add +sys={25.704242}, mono={2.280000}: clock_override_add +sys={25.704242}, mono={2.280000}: OSMUX message (len=76): OSMUX seq=108 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=109 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=110 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=111 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: clock_override_add +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9159 timestamp=1681692937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9160 timestamp=1681693097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9161 timestamp=1681693257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9162 timestamp=1681693417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9163 timestamp=1681693577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9164 timestamp=1681693737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9165 timestamp=1681693897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9166 timestamp=1681694057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9167 timestamp=1681694217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9168 timestamp=1681694377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9169 timestamp=1681694537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9170 timestamp=1681694697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9171 timestamp=1681694857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9172 timestamp=1681695017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9173 timestamp=1681695177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9174 timestamp=1681695337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9175 timestamp=1681695497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9176 timestamp=1681695657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9177 timestamp=1681695817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9178 timestamp=1681695977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9179 timestamp=1681696137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9180 timestamp=1681696297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9181 timestamp=1681696457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9182 timestamp=1681696617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9183 timestamp=1681696777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9184 timestamp=1681696937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9185 timestamp=1681697097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9186 timestamp=1681697257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9187 timestamp=1681697417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9188 timestamp=1681697577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9189 timestamp=1681697737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9190 timestamp=1681697897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9191 timestamp=1681698057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9192 timestamp=1681698217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9193 timestamp=1681698377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9194 timestamp=1681698537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9195 timestamp=1681698697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9196 timestamp=1681698857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9197 timestamp=1681699017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9198 timestamp=1681699177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9199 timestamp=1681699337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9200 timestamp=1681699497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9201 timestamp=1681699657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9202 timestamp=1681699817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9203 timestamp=1681699977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9204 timestamp=1681700137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9205 timestamp=1681700297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9206 timestamp=1681700457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9207 timestamp=1681700617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9208 timestamp=1681700777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9209 timestamp=1681700937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9210 timestamp=1681701097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9211 timestamp=1681701257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9212 timestamp=1681701417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9213 timestamp=1681701577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9214 timestamp=1681701737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9215 timestamp=1681701897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9216 timestamp=1681702057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9217 timestamp=1681702217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9218 timestamp=1681702377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9219 timestamp=1681702537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9220 timestamp=1681702697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9221 timestamp=1681702857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9222 timestamp=1681703017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9223 timestamp=1681703177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9224 timestamp=1681703337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9225 timestamp=1681703497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9226 timestamp=1681703657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9227 timestamp=1681703817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9228 timestamp=1681703977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9229 timestamp=1681704137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9230 timestamp=1681704297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9231 timestamp=1681704457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9232 timestamp=1681704617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9233 timestamp=1681704777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9234 timestamp=1681704937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9235 timestamp=1681705097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9236 timestamp=1681705257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9237 timestamp=1681705417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9238 timestamp=1681705577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9239 timestamp=1681705737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9240 timestamp=1681705897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9241 timestamp=1681706057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9242 timestamp=1681706217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9243 timestamp=1681706377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9244 timestamp=1681706537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9245 timestamp=1681706697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9246 timestamp=1681706857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9247 timestamp=1681707017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9248 timestamp=1681707177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9249 timestamp=1681707337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9250 timestamp=1681707497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9251 timestamp=1681707657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9252 timestamp=1681707817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9253 timestamp=1681707977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9254 timestamp=1681708137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9255 timestamp=1681708297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9256 timestamp=1681708457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9257 timestamp=1681708617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9258 timestamp=1681708777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9259 timestamp=1681708937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9260 timestamp=1681709097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9261 timestamp=1681709257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9262 timestamp=1681709417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9263 timestamp=1681709577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9264 timestamp=1681709737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9265 timestamp=1681709897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9266 timestamp=1681710057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9267 timestamp=1681710217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9268 timestamp=1681710377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9269 timestamp=1681710537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9270 timestamp=1681710697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9271 timestamp=1681710857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9272 timestamp=1681711017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9273 timestamp=1681711177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9274 timestamp=1681711337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9275 timestamp=1681711497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9276 timestamp=1681711657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9277 timestamp=1681711817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9278 timestamp=1681711977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9279 timestamp=1681712137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9280 timestamp=1681712297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9281 timestamp=1681712457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9282 timestamp=1681712617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9283 timestamp=1681712777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9284 timestamp=1681712937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9285 timestamp=1681713097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9286 timestamp=1681713257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9287 timestamp=1681713417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9288 timestamp=1681713577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9289 timestamp=1681713737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9290 timestamp=1681713897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9291 timestamp=1681714057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9292 timestamp=1681714217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9293 timestamp=1681714377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9294 timestamp=1681714537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9295 timestamp=1681714697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9296 timestamp=1681714857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9297 timestamp=1681715017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9298 timestamp=1681715177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9299 timestamp=1681715337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9300 timestamp=1681715497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9301 timestamp=1681715657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9302 timestamp=1681715817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9303 timestamp=1681715977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9304 timestamp=1681716137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9305 timestamp=1681716297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9306 timestamp=1681716457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9307 timestamp=1681716617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9308 timestamp=1681716777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9309 timestamp=1681716937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9310 timestamp=1681717097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9311 timestamp=1681717257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9312 timestamp=1681717417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9313 timestamp=1681717577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9314 timestamp=1681717737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9315 timestamp=1681717897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9316 timestamp=1681718057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9317 timestamp=1681718217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9318 timestamp=1681718377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9319 timestamp=1681718537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9320 timestamp=1681718697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9321 timestamp=1681718857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9322 timestamp=1681719017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9323 timestamp=1681719177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9324 timestamp=1681719337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9325 timestamp=1681719497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9326 timestamp=1681719657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9327 timestamp=1681719817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9328 timestamp=1681719977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9329 timestamp=1681720137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9330 timestamp=1681720297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9331 timestamp=1681720457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9332 timestamp=1681720617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9333 timestamp=1681720777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9334 timestamp=1681720937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9335 timestamp=1681721097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9336 timestamp=1681721257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9337 timestamp=1681721417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9338 timestamp=1681721577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9339 timestamp=1681721737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9340 timestamp=1681721897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9341 timestamp=1681722057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9342 timestamp=1681722217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9343 timestamp=1681722377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9344 timestamp=1681722537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9345 timestamp=1681722697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9346 timestamp=1681722857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9347 timestamp=1681723017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9348 timestamp=1681723177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9349 timestamp=1681723337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9350 timestamp=1681723497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9351 timestamp=1681723657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9352 timestamp=1681723817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9353 timestamp=1681723977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9354 timestamp=1681724137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9355 timestamp=1681724297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9356 timestamp=1681724457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9357 timestamp=1681724617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9358 timestamp=1681724777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9359 timestamp=1681724937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9360 timestamp=1681725097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9361 timestamp=1681725257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9362 timestamp=1681725417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9363 timestamp=1681725577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9364 timestamp=1681725737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9365 timestamp=1681725897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9366 timestamp=1681726057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9367 timestamp=1681726217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9368 timestamp=1681726377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9369 timestamp=1681726537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9370 timestamp=1681726697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9371 timestamp=1681726857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9372 timestamp=1681727017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9373 timestamp=1681727177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9374 timestamp=1681727337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9375 timestamp=1681727497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9376 timestamp=1681727657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9377 timestamp=1681727817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9378 timestamp=1681727977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9379 timestamp=1681728137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9380 timestamp=1681728297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9381 timestamp=1681728457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9382 timestamp=1681728617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9383 timestamp=1681728777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9384 timestamp=1681728937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9385 timestamp=1681729097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9386 timestamp=1681729257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9387 timestamp=1681729417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9388 timestamp=1681729577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9389 timestamp=1681729737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9390 timestamp=1681729897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9391 timestamp=1681730057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9392 timestamp=1681730217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9393 timestamp=1681730377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9394 timestamp=1681730537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9395 timestamp=1681730697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9396 timestamp=1681730857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9397 timestamp=1681731017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9398 timestamp=1681731177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9399 timestamp=1681731337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9400 timestamp=1681731497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9401 timestamp=1681731657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9402 timestamp=1681731817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9403 timestamp=1681731977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9404 timestamp=1681732137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9405 timestamp=1681732297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9406 timestamp=1681732457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9407 timestamp=1681732617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9408 timestamp=1681732777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9409 timestamp=1681732937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9410 timestamp=1681733097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9411 timestamp=1681733257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9412 timestamp=1681733417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9413 timestamp=1681733577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX initialized osmux input converter +sys={26.704242}, mono={3.280000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16396 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16397 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16398 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.704242}, mono={3.280000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16399 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.704242}, mono={3.280000}: OSMUX message (len=242): OSMUX seq=000 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=001 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9414 timestamp=1681733737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9415 timestamp=1681733897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9416 timestamp=1681734057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9417 timestamp=1681734217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.724242}, mono={3.300000}: clock_override_add +sys={26.724242}, mono={3.300000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9418 timestamp=1681734377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: clock_override_add +sys={26.744242}, mono={3.320000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16400 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16401 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16402 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.744242}, mono={3.320000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16403 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.744242}, mono={3.320000}: OSMUX message (len=242): OSMUX seq=002 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=003 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9419 timestamp=1681734537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9420 timestamp=1681734697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9421 timestamp=1681734857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9422 timestamp=1681735017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9423 timestamp=1681735177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.764242}, mono={3.340000}: clock_override_add +sys={26.764242}, mono={3.340000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9424 timestamp=1681735337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: clock_override_add +sys={26.784242}, mono={3.360000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16404 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16405 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16406 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.784242}, mono={3.360000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16407 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.784242}, mono={3.360000}: OSMUX message (len=242): OSMUX seq=004 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=005 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9425 timestamp=1681735497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9426 timestamp=1681735657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9427 timestamp=1681735817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9428 timestamp=1681735977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9429 timestamp=1681736137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.804242}, mono={3.380000}: clock_override_add +sys={26.804242}, mono={3.380000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9430 timestamp=1681736297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: clock_override_add +sys={26.824242}, mono={3.400000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16408 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16409 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16410 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.824242}, mono={3.400000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16411 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.824242}, mono={3.400000}: OSMUX message (len=242): OSMUX seq=006 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=007 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9431 timestamp=1681736457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9432 timestamp=1681736617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9433 timestamp=1681736777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9434 timestamp=1681736937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9435 timestamp=1681737097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.844242}, mono={3.420000}: clock_override_add +sys={26.844242}, mono={3.420000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9436 timestamp=1681737257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: clock_override_add +sys={26.864242}, mono={3.440000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16412 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16413 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16414 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.864242}, mono={3.440000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16415 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.864242}, mono={3.440000}: OSMUX message (len=242): OSMUX seq=008 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=009 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9437 timestamp=1681737417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9438 timestamp=1681737577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9439 timestamp=1681737737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9440 timestamp=1681737897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9441 timestamp=1681738057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.884242}, mono={3.460000}: clock_override_add +sys={26.884242}, mono={3.460000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9442 timestamp=1681738217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: clock_override_add +sys={26.904242}, mono={3.480000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16416 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16417 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16418 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.904242}, mono={3.480000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16419 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.904242}, mono={3.480000}: OSMUX message (len=242): OSMUX seq=010 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=011 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9443 timestamp=1681738377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9444 timestamp=1681738537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9445 timestamp=1681738697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9446 timestamp=1681738857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9447 timestamp=1681739017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.924242}, mono={3.500000}: clock_override_add +sys={26.924242}, mono={3.500000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9448 timestamp=1681739177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: clock_override_add +sys={26.944242}, mono={3.520000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16420 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16421 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16422 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.944242}, mono={3.520000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16423 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.944242}, mono={3.520000}: OSMUX message (len=242): OSMUX seq=012 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=013 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9449 timestamp=1681739337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9450 timestamp=1681739497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9451 timestamp=1681739657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9452 timestamp=1681739817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9453 timestamp=1681739977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.964242}, mono={3.540000}: clock_override_add +sys={26.964242}, mono={3.540000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9454 timestamp=1681740137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: clock_override_add +sys={26.984242}, mono={3.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16424 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16425 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16426 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.984242}, mono={3.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16427 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.984242}, mono={3.560000}: OSMUX message (len=242): OSMUX seq=014 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=015 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9455 timestamp=1681740297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9456 timestamp=1681740457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9457 timestamp=1681740617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9458 timestamp=1681740777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9459 timestamp=1681740937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.004242}, mono={3.580000}: clock_override_add +sys={27.004242}, mono={3.580000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9460 timestamp=1681741097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: clock_override_add +sys={27.024242}, mono={3.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16428 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16429 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16430 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.024242}, mono={3.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16431 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.024242}, mono={3.600000}: OSMUX message (len=242): OSMUX seq=016 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=017 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9461 timestamp=1681741257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9462 timestamp=1681741417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9463 timestamp=1681741577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9464 timestamp=1681741737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9465 timestamp=1681741897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.044242}, mono={3.620000}: clock_override_add +sys={27.044242}, mono={3.620000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9466 timestamp=1681742057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: clock_override_add +sys={27.064242}, mono={3.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16432 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16433 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16434 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.064242}, mono={3.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16435 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.064242}, mono={3.640000}: OSMUX message (len=242): OSMUX seq=018 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=019 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9467 timestamp=1681742217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9468 timestamp=1681742377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9469 timestamp=1681742537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9470 timestamp=1681742697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9471 timestamp=1681742857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.084242}, mono={3.660000}: clock_override_add +sys={27.084242}, mono={3.660000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9472 timestamp=1681743017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: clock_override_add +sys={27.104242}, mono={3.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16436 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16437 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16438 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.104242}, mono={3.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16439 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.104242}, mono={3.680000}: OSMUX message (len=242): OSMUX seq=020 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=021 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9473 timestamp=1681743177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9474 timestamp=1681743337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9475 timestamp=1681743497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9476 timestamp=1681743657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9477 timestamp=1681743817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.124242}, mono={3.700000}: clock_override_add +sys={27.124242}, mono={3.700000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9478 timestamp=1681743977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: clock_override_add +sys={27.144242}, mono={3.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16440 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16441 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16442 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.144242}, mono={3.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16443 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.144242}, mono={3.720000}: OSMUX message (len=242): OSMUX seq=022 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=023 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9479 timestamp=1681744137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9480 timestamp=1681744297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9481 timestamp=1681744457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9482 timestamp=1681744617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9483 timestamp=1681744777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.164242}, mono={3.740000}: clock_override_add +sys={27.164242}, mono={3.740000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9484 timestamp=1681744937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: clock_override_add +sys={27.184242}, mono={3.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16444 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16445 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16446 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.184242}, mono={3.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16447 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.184242}, mono={3.760000}: OSMUX message (len=242): OSMUX seq=024 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=025 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9485 timestamp=1681745097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9486 timestamp=1681745257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9487 timestamp=1681745417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9488 timestamp=1681745577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9489 timestamp=1681745737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.204242}, mono={3.780000}: clock_override_add +sys={27.204242}, mono={3.780000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9490 timestamp=1681745897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: clock_override_add +sys={27.224242}, mono={3.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16448 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16449 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16450 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.224242}, mono={3.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16451 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.224242}, mono={3.800000}: OSMUX message (len=242): OSMUX seq=026 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=027 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9491 timestamp=1681746057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9492 timestamp=1681746217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9493 timestamp=1681746377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9494 timestamp=1681746537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9495 timestamp=1681746697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.244242}, mono={3.820000}: clock_override_add +sys={27.244242}, mono={3.820000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9496 timestamp=1681746857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: clock_override_add +sys={27.264242}, mono={3.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16452 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16453 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16454 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.264242}, mono={3.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16455 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.264242}, mono={3.840000}: OSMUX message (len=242): OSMUX seq=028 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=029 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9497 timestamp=1681747017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9498 timestamp=1681747177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9499 timestamp=1681747337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9500 timestamp=1681747497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9501 timestamp=1681747657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.284242}, mono={3.860000}: clock_override_add +sys={27.284242}, mono={3.860000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9502 timestamp=1681747817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: clock_override_add +sys={27.304242}, mono={3.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16456 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16457 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16458 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.304242}, mono={3.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16459 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.304242}, mono={3.880000}: OSMUX message (len=242): OSMUX seq=030 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=031 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9503 timestamp=1681747977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9504 timestamp=1681748137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9505 timestamp=1681748297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9506 timestamp=1681748457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9507 timestamp=1681748617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.324242}, mono={3.900000}: clock_override_add +sys={27.324242}, mono={3.900000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9508 timestamp=1681748777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: clock_override_add +sys={27.344242}, mono={3.920000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16460 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16461 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16462 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.344242}, mono={3.920000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16463 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.344242}, mono={3.920000}: OSMUX message (len=98): OSMUX seq=032 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=033 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9509 timestamp=1681748937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9510 timestamp=1681749097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9511 timestamp=1681749257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9512 timestamp=1681749417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9513 timestamp=1681749577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.364242}, mono={3.940000}: clock_override_add +sys={27.364242}, mono={3.940000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9514 timestamp=1681749737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: clock_override_add +sys={27.384242}, mono={3.960000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16464 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16465 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16466 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.384242}, mono={3.960000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16467 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.384242}, mono={3.960000}: OSMUX message (len=98): OSMUX seq=034 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=035 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9515 timestamp=1681749897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9516 timestamp=1681750057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9517 timestamp=1681750217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9518 timestamp=1681750377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9519 timestamp=1681750537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.404242}, mono={3.980000}: clock_override_add +sys={27.404242}, mono={3.980000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9520 timestamp=1681750697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: clock_override_add +sys={27.424242}, mono={4.000000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16468 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16469 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16470 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.424242}, mono={4.000000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16471 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.424242}, mono={4.000000}: OSMUX message (len=98): OSMUX seq=036 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=037 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9521 timestamp=1681750857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9522 timestamp=1681751017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9523 timestamp=1681751177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9524 timestamp=1681751337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9525 timestamp=1681751497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.444242}, mono={4.020000}: clock_override_add +sys={27.444242}, mono={4.020000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9526 timestamp=1681751657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: clock_override_add +sys={27.464242}, mono={4.040000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16472 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16473 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16474 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.464242}, mono={4.040000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16475 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.464242}, mono={4.040000}: OSMUX message (len=98): OSMUX seq=038 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=039 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9527 timestamp=1681751817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9528 timestamp=1681751977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9529 timestamp=1681752137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9530 timestamp=1681752297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9531 timestamp=1681752457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.484242}, mono={4.060000}: clock_override_add +sys={27.484242}, mono={4.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9532 timestamp=1681752617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: clock_override_add +sys={27.504242}, mono={4.080000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16476 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16477 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16478 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.504242}, mono={4.080000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16479 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.504242}, mono={4.080000}: OSMUX message (len=98): OSMUX seq=040 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=041 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9533 timestamp=1681752777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9534 timestamp=1681752937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9535 timestamp=1681753097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9536 timestamp=1681753257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9537 timestamp=1681753417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.524242}, mono={4.100000}: clock_override_add +sys={27.524242}, mono={4.100000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9538 timestamp=1681753577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: clock_override_add +sys={27.544242}, mono={4.120000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16480 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16481 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16482 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.544242}, mono={4.120000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16483 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.544242}, mono={4.120000}: OSMUX message (len=98): OSMUX seq=042 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=043 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9539 timestamp=1681753737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9540 timestamp=1681753897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9541 timestamp=1681754057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9542 timestamp=1681754217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9543 timestamp=1681754377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.564242}, mono={4.140000}: clock_override_add +sys={27.564242}, mono={4.140000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9544 timestamp=1681754537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: clock_override_add +sys={27.584242}, mono={4.160000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16484 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16485 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16486 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.584242}, mono={4.160000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16487 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.584242}, mono={4.160000}: OSMUX message (len=98): OSMUX seq=044 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=045 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9545 timestamp=1681754697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9546 timestamp=1681754857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9547 timestamp=1681755017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9548 timestamp=1681755177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9549 timestamp=1681755337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.604242}, mono={4.180000}: clock_override_add +sys={27.604242}, mono={4.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9550 timestamp=1681755497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: clock_override_add +sys={27.624242}, mono={4.200000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16488 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16489 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16490 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.624242}, mono={4.200000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16491 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.624242}, mono={4.200000}: OSMUX message (len=98): OSMUX seq=046 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=047 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9551 timestamp=1681755657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9552 timestamp=1681755817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9553 timestamp=1681755977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9554 timestamp=1681756137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9555 timestamp=1681756297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.644242}, mono={4.220000}: clock_override_add +sys={27.644242}, mono={4.220000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9556 timestamp=1681756457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: clock_override_add +sys={27.664242}, mono={4.240000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16492 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16493 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16494 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.664242}, mono={4.240000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16495 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.664242}, mono={4.240000}: OSMUX message (len=98): OSMUX seq=048 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=049 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9557 timestamp=1681756617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9558 timestamp=1681756777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9559 timestamp=1681756937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9560 timestamp=1681757097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9561 timestamp=1681757257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.684242}, mono={4.260000}: clock_override_add +sys={27.684242}, mono={4.260000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9562 timestamp=1681757417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: clock_override_add +sys={27.704242}, mono={4.280000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16496 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16497 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16498 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.704242}, mono={4.280000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16499 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.704242}, mono={4.280000}: OSMUX message (len=98): OSMUX seq=050 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=051 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9563 timestamp=1681757577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9564 timestamp=1681757737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9565 timestamp=1681757897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9566 timestamp=1681758057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9567 timestamp=1681758217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.724242}, mono={4.300000}: clock_override_add +sys={27.724242}, mono={4.300000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9568 timestamp=1681758377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: clock_override_add +sys={27.744242}, mono={4.320000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16500 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16501 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16502 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.744242}, mono={4.320000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16503 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.744242}, mono={4.320000}: OSMUX message (len=98): OSMUX seq=052 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=053 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9569 timestamp=1681758537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9570 timestamp=1681758697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9571 timestamp=1681758857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9572 timestamp=1681759017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9573 timestamp=1681759177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.764242}, mono={4.340000}: clock_override_add +sys={27.764242}, mono={4.340000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9574 timestamp=1681759337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: clock_override_add +sys={27.784242}, mono={4.360000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16504 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16505 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16506 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.784242}, mono={4.360000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16507 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.784242}, mono={4.360000}: OSMUX message (len=98): OSMUX seq=054 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=055 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9575 timestamp=1681759497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9576 timestamp=1681759657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9577 timestamp=1681759817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9578 timestamp=1681759977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9579 timestamp=1681760137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.804242}, mono={4.380000}: clock_override_add +sys={27.804242}, mono={4.380000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9580 timestamp=1681760297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: clock_override_add +sys={27.824242}, mono={4.400000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16508 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16509 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16510 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.824242}, mono={4.400000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16511 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.824242}, mono={4.400000}: OSMUX message (len=98): OSMUX seq=056 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=057 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9581 timestamp=1681760457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9582 timestamp=1681760617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9583 timestamp=1681760777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9584 timestamp=1681760937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9585 timestamp=1681761097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.844242}, mono={4.420000}: clock_override_add +sys={27.844242}, mono={4.420000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9586 timestamp=1681761257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: clock_override_add +sys={27.864242}, mono={4.440000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16512 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16513 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16514 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.864242}, mono={4.440000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16515 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.864242}, mono={4.440000}: OSMUX message (len=98): OSMUX seq=058 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=059 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9587 timestamp=1681761417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9588 timestamp=1681761577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9589 timestamp=1681761737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9590 timestamp=1681761897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9591 timestamp=1681762057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.884242}, mono={4.460000}: clock_override_add +sys={27.884242}, mono={4.460000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9592 timestamp=1681762217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: clock_override_add +sys={27.904242}, mono={4.480000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16516 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16517 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16518 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.904242}, mono={4.480000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16519 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.904242}, mono={4.480000}: OSMUX message (len=98): OSMUX seq=060 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=061 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9593 timestamp=1681762377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9594 timestamp=1681762537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9595 timestamp=1681762697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9596 timestamp=1681762857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9597 timestamp=1681763017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.924242}, mono={4.500000}: clock_override_add +sys={27.924242}, mono={4.500000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9598 timestamp=1681763177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: clock_override_add +sys={27.944242}, mono={4.520000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16520 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16521 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16522 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.944242}, mono={4.520000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16523 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.944242}, mono={4.520000}: OSMUX message (len=98): OSMUX seq=062 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=063 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9599 timestamp=1681763337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9600 timestamp=1681763497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9601 timestamp=1681763657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9602 timestamp=1681763817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9603 timestamp=1681763977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.964242}, mono={4.540000}: clock_override_add +sys={27.964242}, mono={4.540000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9604 timestamp=1681764137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: clock_override_add +sys={27.984242}, mono={4.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16524 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16525 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16526 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.984242}, mono={4.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16527 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.984242}, mono={4.560000}: OSMUX message (len=98): OSMUX seq=064 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=065 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9605 timestamp=1681764297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9606 timestamp=1681764457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9607 timestamp=1681764617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9608 timestamp=1681764777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9609 timestamp=1681764937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.004242}, mono={4.580000}: clock_override_add +sys={28.004242}, mono={4.580000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9610 timestamp=1681765097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: clock_override_add +sys={28.024242}, mono={4.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16528 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16529 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16530 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.024242}, mono={4.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16531 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.024242}, mono={4.600000}: OSMUX message (len=98): OSMUX seq=066 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=067 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9611 timestamp=1681765257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9612 timestamp=1681765417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9613 timestamp=1681765577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9614 timestamp=1681765737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9615 timestamp=1681765897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.044242}, mono={4.620000}: clock_override_add +sys={28.044242}, mono={4.620000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9616 timestamp=1681766057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: clock_override_add +sys={28.064242}, mono={4.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16532 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16533 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16534 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.064242}, mono={4.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16535 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.064242}, mono={4.640000}: OSMUX message (len=98): OSMUX seq=068 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=069 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9617 timestamp=1681766217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9618 timestamp=1681766377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9619 timestamp=1681766537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9620 timestamp=1681766697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9621 timestamp=1681766857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.084242}, mono={4.660000}: clock_override_add +sys={28.084242}, mono={4.660000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9622 timestamp=1681767017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: clock_override_add +sys={28.104242}, mono={4.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16536 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16537 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16538 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.104242}, mono={4.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16539 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.104242}, mono={4.680000}: OSMUX message (len=98): OSMUX seq=070 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=071 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9623 timestamp=1681767177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9624 timestamp=1681767337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9625 timestamp=1681767497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9626 timestamp=1681767657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9627 timestamp=1681767817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.124242}, mono={4.700000}: clock_override_add +sys={28.124242}, mono={4.700000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9628 timestamp=1681767977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: clock_override_add +sys={28.144242}, mono={4.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16540 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16541 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16542 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.144242}, mono={4.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16543 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.144242}, mono={4.720000}: OSMUX message (len=98): OSMUX seq=072 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=073 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9629 timestamp=1681768137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9630 timestamp=1681768297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9631 timestamp=1681768457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9632 timestamp=1681768617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9633 timestamp=1681768777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.164242}, mono={4.740000}: clock_override_add +sys={28.164242}, mono={4.740000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9634 timestamp=1681768937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: clock_override_add +sys={28.184242}, mono={4.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16544 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16545 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16546 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.184242}, mono={4.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16547 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.184242}, mono={4.760000}: OSMUX message (len=98): OSMUX seq=074 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=075 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9635 timestamp=1681769097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9636 timestamp=1681769257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9637 timestamp=1681769417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9638 timestamp=1681769577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9639 timestamp=1681769737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.204242}, mono={4.780000}: clock_override_add +sys={28.204242}, mono={4.780000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9640 timestamp=1681769897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: clock_override_add +sys={28.224242}, mono={4.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16548 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16549 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16550 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.224242}, mono={4.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16551 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.224242}, mono={4.800000}: OSMUX message (len=98): OSMUX seq=076 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=077 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9641 timestamp=1681770057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9642 timestamp=1681770217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9643 timestamp=1681770377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9644 timestamp=1681770537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9645 timestamp=1681770697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.244242}, mono={4.820000}: clock_override_add +sys={28.244242}, mono={4.820000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9646 timestamp=1681770857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: clock_override_add +sys={28.264242}, mono={4.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16552 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16553 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16554 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.264242}, mono={4.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16555 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.264242}, mono={4.840000}: OSMUX message (len=98): OSMUX seq=078 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=079 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9647 timestamp=1681771017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9648 timestamp=1681771177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9649 timestamp=1681771337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9650 timestamp=1681771497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9651 timestamp=1681771657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.284242}, mono={4.860000}: clock_override_add +sys={28.284242}, mono={4.860000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9652 timestamp=1681771817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: clock_override_add +sys={28.304242}, mono={4.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16556 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16557 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16558 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.304242}, mono={4.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16559 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.304242}, mono={4.880000}: OSMUX message (len=98): OSMUX seq=080 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=081 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9653 timestamp=1681771977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9654 timestamp=1681772137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9655 timestamp=1681772297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9656 timestamp=1681772457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9657 timestamp=1681772617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.324242}, mono={4.900000}: clock_override_add +sys={28.324242}, mono={4.900000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9658 timestamp=1681772777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: clock_override_add +sys={28.344242}, mono={4.920000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16560 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16561 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16562 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.344242}, mono={4.920000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16563 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.344242}, mono={4.920000}: OSMUX message (len=98): OSMUX seq=082 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=083 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9659 timestamp=1681772937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9660 timestamp=1681773097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9661 timestamp=1681773257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9662 timestamp=1681773417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9663 timestamp=1681773577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.364242}, mono={4.940000}: clock_override_add +sys={28.364242}, mono={4.940000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9664 timestamp=1681773737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: clock_override_add +sys={28.384242}, mono={4.960000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16564 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16565 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16566 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.384242}, mono={4.960000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16567 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.384242}, mono={4.960000}: OSMUX message (len=98): OSMUX seq=084 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=085 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9665 timestamp=1681773897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9666 timestamp=1681774057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9667 timestamp=1681774217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9668 timestamp=1681774377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9669 timestamp=1681774537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.404242}, mono={4.980000}: clock_override_add +sys={28.404242}, mono={4.980000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9670 timestamp=1681774697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: clock_override_add +sys={28.424242}, mono={5.000000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16568 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16569 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16570 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.424242}, mono={5.000000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16571 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.424242}, mono={5.000000}: OSMUX message (len=98): OSMUX seq=086 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=087 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9671 timestamp=1681774857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9672 timestamp=1681775017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9673 timestamp=1681775177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9674 timestamp=1681775337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9675 timestamp=1681775497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.444242}, mono={5.020000}: clock_override_add +sys={28.444242}, mono={5.020000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9676 timestamp=1681775657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: clock_override_add +sys={28.464242}, mono={5.040000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16572 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16573 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16574 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.464242}, mono={5.040000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16575 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.464242}, mono={5.040000}: OSMUX message (len=98): OSMUX seq=088 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=089 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9677 timestamp=1681775817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9678 timestamp=1681775977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9679 timestamp=1681776137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9680 timestamp=1681776297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9681 timestamp=1681776457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.484242}, mono={5.060000}: clock_override_add +sys={28.484242}, mono={5.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9682 timestamp=1681776617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: clock_override_add +sys={28.504242}, mono={5.080000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16576 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16577 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16578 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16579 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.504242}, mono={5.080000}: OSMUX message (len=98): OSMUX seq=090 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=091 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9683 timestamp=1681776777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9684 timestamp=1681776937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9685 timestamp=1681777097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9686 timestamp=1681777257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9687 timestamp=1681777417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.524242}, mono={5.100000}: clock_override_add +sys={28.524242}, mono={5.100000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9688 timestamp=1681777577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: clock_override_add +sys={28.544242}, mono={5.120000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16580 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16581 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16582 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.544242}, mono={5.120000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16583 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.544242}, mono={5.120000}: OSMUX message (len=98): OSMUX seq=092 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=093 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9689 timestamp=1681777737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9690 timestamp=1681777897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9691 timestamp=1681778057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9692 timestamp=1681778217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9693 timestamp=1681778377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.564242}, mono={5.140000}: clock_override_add +sys={28.564242}, mono={5.140000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9694 timestamp=1681778537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: clock_override_add +sys={28.584242}, mono={5.160000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16584 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16585 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16586 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.584242}, mono={5.160000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16587 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.584242}, mono={5.160000}: OSMUX message (len=98): OSMUX seq=094 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=095 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9695 timestamp=1681778697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9696 timestamp=1681778857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9697 timestamp=1681779017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.604242}, mono={5.180000}: clock_override_add +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.624242}, mono={5.200000}: clock_override_add +sys={28.624242}, mono={5.200000}: OK: Test passed diff --git a/tests/testsuite.at b/tests/testsuite.at index fa4d63d..0cf108f 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -11,7 +11,7 @@ AT_SETUP([osmux_test]) AT_KEYWORDS([osmux_test]) cat $abs_srcdir/osmux/osmux_test.ok > expout -AT_CHECK([$abs_top_builddir/tests/osmux/osmux_test], [0], [expout], [ignore]) +AT_CHECK([$abs_top_builddir/tests/osmux/osmux_test 2>&1], [0], [expout], [ignore]) AT_CLEANUP AT_SETUP([osmux_test2]) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I85722ebcb5486426dfe76cdca1b8a0692bb5b111 Gerrit-Change-Number: 15670 Gerrit-PatchSet: 4 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 Wed Oct 9 10:56:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 10:56:26 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use RSL_CHAN_* definitions from libosmogsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15707 ) Change subject: L1SAP: use RSL_CHAN_* definitions from libosmogsm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2708b5d5bb6b92f90766ac752bafd28cff2549b0 Gerrit-Change-Number: 15707 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 10:56: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 Oct 9 10:57:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 10:57:38 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15708 ) Change subject: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2f6d501a29edaf89dfb17d5d64f930cdb1943630 Gerrit-Change-Number: 15708 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 10:57: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 Oct 9 10:58:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 10:58:51 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: clarify debug messages in rach_pass_filter() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15709 ) Change subject: L1SAP: clarify debug messages in rach_pass_filter() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15709/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15709/1/src/common/l1sap.c at 1261 PS1, Line 1261: LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring an Access Burst: " Wondering if it's also possible to print the channel then too. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1e5ca9930ab491a6916c972865154d54530cbf51 Gerrit-Change-Number: 15709 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 10:58: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 Wed Oct 9 10:58:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 10:58:53 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: clarify debug messages in rach_pass_filter() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15709 ) Change subject: L1SAP: clarify debug messages in rach_pass_filter() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1e5ca9930ab491a6916c972865154d54530cbf51 Gerrit-Change-Number: 15709 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 10:58: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 Wed Oct 9 10:59:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 10:59:10 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: do not pass unused parameter to l1sap_handover_rach() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15710 ) Change subject: L1SAP: do not pass unused parameter to l1sap_handover_rach() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f2d909f1bde09cbec106240df290381b3418e46 Gerrit-Change-Number: 15710 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 10:59: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 Wed Oct 9 11:06:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:06:01 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: refactor handling of Access Bursts on PDCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15711 ) Change subject: L1SAP: refactor handling of Access Bursts on PDCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I461fde9f4543c45c42b591cd3fd0ff3d98673cec Gerrit-Change-Number: 15711 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:06: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 Oct 9 11:06:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:06:20 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15712 ) Change subject: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id263c2b716fd282d37d705a1c5f430ce7c0edaf0 Gerrit-Change-Number: 15712 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:06: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 Oct 9 11:07:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:07:21 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use the actual ARFCN for outgoing PCUIF messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15713 ) Change subject: L1SAP: use the actual ARFCN for outgoing PCUIF messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07b3aac97603d85fb6cf077d3a342b12b0643171 Gerrit-Change-Number: 15713 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:07: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 Oct 9 11:08:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:08:27 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15714 ) Change subject: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id69010ffa8c697e8c01bbb21509253c330f95343 Gerrit-Change-Number: 15714 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:08: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 Oct 9 11:10:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:10:48 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15715 ) Change subject: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7639215ef936a8ac05ca417a91f4e12755f318d4 Gerrit-Change-Number: 15715 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:10: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 Oct 9 11:12:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:12:28 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15716 ) Change subject: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15716/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15716/1/src/common/l1sap.c at 1119 PS1, Line 1119: Remove this whitespace line. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d Gerrit-Change-Number: 15716 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:12: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 Wed Oct 9 11:14:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:14:05 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use RSL_CHAN_* definitions from libosmogsm In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15707 ) Change subject: L1SAP: use RSL_CHAN_* definitions from libosmogsm ...................................................................... L1SAP: use RSL_CHAN_* definitions from libosmogsm Change-Id: I2708b5d5bb6b92f90766ac752bafd28cff2549b0 --- M include/osmo-bts/l1sap.h 1 file changed, 21 insertions(+), 10 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/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index 70b4564..ccfcacc 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -2,6 +2,7 @@ #define L1SAP_H #include +#include /* lchan link ID */ #define LID_SACCH 0x40 @@ -15,16 +16,26 @@ #define L1SAP_CHAN2SS_BCCH(chan_nr) (CCCH_LCHAN) /* logical channel from chan_nr + link_id */ -#define L1SAP_IS_LINK_SACCH(link_id) ((link_id & 0xC0) == LID_SACCH) -#define L1SAP_IS_CHAN_TCHF(chan_nr) ((chan_nr & 0xf8) == 0x08) -#define L1SAP_IS_CHAN_TCHH(chan_nr) ((chan_nr & 0xf0) == 0x10) -#define L1SAP_IS_CHAN_SDCCH4(chan_nr) ((chan_nr & 0xe0) == 0x20) -#define L1SAP_IS_CHAN_SDCCH8(chan_nr) ((chan_nr & 0xc0) == 0x40) -#define L1SAP_IS_CHAN_BCCH(chan_nr) ((chan_nr & 0xf8) == 0x80) -#define L1SAP_IS_CHAN_RACH(chan_nr) ((chan_nr & 0xf8) == 0x88) -#define L1SAP_IS_CHAN_AGCH_PCH(chan_nr) ((chan_nr & 0xf8) == 0x90) -#define L1SAP_IS_CHAN_PDCH(chan_nr) ((chan_nr & 0xf8) == 0xc0) -#define L1SAP_IS_CHAN_CBCH(chan_nr) ((chan_nr & 0xf8) == 0xc8) +#define L1SAP_IS_LINK_SACCH(link_id) \ + ((link_id & 0xC0) == LID_SACCH) +#define L1SAP_IS_CHAN_TCHF(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_Bm_ACCHs) +#define L1SAP_IS_CHAN_TCHH(chan_nr) \ + ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) +#define L1SAP_IS_CHAN_SDCCH4(chan_nr) \ + ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) +#define L1SAP_IS_CHAN_SDCCH8(chan_nr) \ + ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) +#define L1SAP_IS_CHAN_BCCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_BCCH) +#define L1SAP_IS_CHAN_RACH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_RACH) +#define L1SAP_IS_CHAN_AGCH_PCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_PCH_AGCH) +#define L1SAP_IS_CHAN_PDCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) +#define L1SAP_IS_CHAN_CBCH(chan_nr) \ + ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) /* rach type from ra */ #define L1SAP_IS_PACKET_RACH(ra) ((ra & 0xf0) == 0x70 && (ra & 0x0f) != 0x0f) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2708b5d5bb6b92f90766ac752bafd28cff2549b0 Gerrit-Change-Number: 15707 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 gerrit-no-reply at lists.osmocom.org Wed Oct 9 11:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:14:06 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15708 ) Change subject: L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH ...................................................................... L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH Currently we don't distinguish between CBCH on BCCH+SDCCH/4 and CBCH on SDCCH/8, but in libosmogsm we have two independent (non-standard) RSL channel number values for them. Maybe some day we will, so let's extend the definition of L1SAP_IS_CHAN_CBCH. Change-Id: I2f6d501a29edaf89dfb17d5d64f930cdb1943630 --- M include/osmo-bts/l1sap.h 1 file changed, 2 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/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index ccfcacc..7ae5d38 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -35,7 +35,8 @@ #define L1SAP_IS_CHAN_PDCH(chan_nr) \ ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) #define L1SAP_IS_CHAN_CBCH(chan_nr) \ - ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) + ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) \ + || ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) /* rach type from ra */ #define L1SAP_IS_PACKET_RACH(ra) ((ra & 0xf0) == 0x70 && (ra & 0x0f) != 0x0f) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2f6d501a29edaf89dfb17d5d64f930cdb1943630 Gerrit-Change-Number: 15708 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 gerrit-no-reply at lists.osmocom.org Wed Oct 9 11:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:14:06 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: clarify debug messages in rach_pass_filter() In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15709 ) Change subject: L1SAP: clarify debug messages in rach_pass_filter() ...................................................................... L1SAP: clarify debug messages in rach_pass_filter() RACH stands for Random Access CHannel, while in rach_pass_filter() we're dealing with Access Bursts, that may be received on other logical channels too (e.g. PTCCH, PDTCH or any other). Change-Id: I1e5ca9930ab491a6916c972865154d54530cbf51 --- M src/common/l1sap.c 1 file changed, 3 insertions(+), 3 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/common/l1sap.c b/src/common/l1sap.c index ac1c99d..54953b0 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1258,7 +1258,7 @@ /* Check for RACH exceeding BER threshold (ghost RACH) */ if (rach_ind->ber10k > bts->max_ber10k_rach) { - LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: " + LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring an Access Burst: " "BER10k(%u) > BER10k_MAX(%u)\n", rach_ind->ber10k, bts->max_ber10k_rach); return false; @@ -1270,7 +1270,7 @@ * according to maximal allowed Timing Advance value. */ if (toa256 < RACH_MIN_TOA256 || toa256 > bts->max_ta * 256) { - LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: " + LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring an Access Burst: " "ToA(%d) exceeds the allowed range (%d..%d)\n", toa256, RACH_MIN_TOA256, bts->max_ta * 256); return false; @@ -1278,7 +1278,7 @@ /* Link quality defined by C/I (Carrier-to-Interference ratio) */ if (rach_ind->lqual_cb < bts->min_qual_rach) { - LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: " + LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring an Access Burst: " "link quality (%d) below the minimum (%d)\n", rach_ind->lqual_cb, bts->min_qual_rach); return false; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1e5ca9930ab491a6916c972865154d54530cbf51 Gerrit-Change-Number: 15709 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 gerrit-no-reply at lists.osmocom.org Wed Oct 9 11:14:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:14:07 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: do not pass unused parameter to l1sap_handover_rach() In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15710 ) Change subject: L1SAP: do not pass unused parameter to l1sap_handover_rach() ...................................................................... L1SAP: do not pass unused parameter to l1sap_handover_rach() Change-Id: I7f2d909f1bde09cbec106240df290381b3418e46 --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 3 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/common/l1sap.c b/src/common/l1sap.c index 54953b0..93a70cd 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1288,8 +1288,7 @@ } /* Special case where handover RACH is detected */ -static int l1sap_handover_rach(struct gsm_bts_trx *trx, - struct osmo_phsap_prim *l1sap, struct ph_rach_ind_param *rach_ind) +static int l1sap_handover_rach(struct gsm_bts_trx *trx, struct ph_rach_ind_param *rach_ind) { /* Filter out noise / interference / ghosts */ if (!rach_pass_filter(rach_ind, trx->bts)) { @@ -1330,7 +1329,7 @@ /* check for handover access burst on dedicated channels */ if (!L1SAP_IS_CHAN_RACH(rach_ind->chan_nr)) { rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_HO); - return l1sap_handover_rach(trx, l1sap, rach_ind); + return l1sap_handover_rach(trx, rach_ind); } rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_RCVD); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f2d909f1bde09cbec106240df290381b3418e46 Gerrit-Change-Number: 15710 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 gerrit-no-reply at lists.osmocom.org Wed Oct 9 11:14:08 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:14:08 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: refactor handling of Access Bursts on PDCH In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15711 ) Change subject: L1SAP: refactor handling of Access Bursts on PDCH ...................................................................... L1SAP: refactor handling of Access Bursts on PDCH First of all, we also need to apply the same filtering to Access Bursts on PDCH as for the normal ones on RACH, i.e. filter them by ToA (Timing of Arrival) and BER (Bit Error Rate). Secondly, we shall not interpret Access Bursts on PDTCH/U as handover related ones. Instead, let's print a warning and ignore them since they are not (yet) supported by OsmoBTS. Finally, in gsmtap_pdch() we need to set a proper channel type for Access Bursts received on PDCH (PDTCH/U or PTCCH/U). Change-Id: I461fde9f4543c45c42b591cd3fd0ff3d98673cec --- M src/common/l1sap.c 1 file changed, 47 insertions(+), 19 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/common/l1sap.c b/src/common/l1sap.c index 93a70cd..06de8a3 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -349,18 +349,27 @@ static int gsmtap_ph_rach(struct osmo_phsap_prim *l1sap, uint8_t *chan_type, uint8_t *tn, uint8_t *ss, uint32_t *fn, uint8_t **data, unsigned int *len) { - uint8_t chan_nr; + uint8_t chan_nr = l1sap->u.rach_ind.chan_nr; *chan_type = GSMTAP_CHANNEL_RACH; *fn = l1sap->u.rach_ind.fn; - *tn = L1SAP_CHAN2TS(l1sap->u.rach_ind.chan_nr); - chan_nr = l1sap->u.rach_ind.chan_nr; + *tn = L1SAP_CHAN2TS(chan_nr); + if (L1SAP_IS_CHAN_TCHH(chan_nr)) *ss = L1SAP_CHAN2SS_TCHH(chan_nr); else if (L1SAP_IS_CHAN_SDCCH4(chan_nr)) *ss = L1SAP_CHAN2SS_SDCCH4(chan_nr); else if (L1SAP_IS_CHAN_SDCCH8(chan_nr)) *ss = L1SAP_CHAN2SS_SDCCH8(chan_nr); + else if (L1SAP_IS_CHAN_PDCH(chan_nr)) { + if (L1SAP_IS_PTCCH(*fn)) { + /* TODO: calculate sub-slot from frame-number */ + *chan_type = GSMTAP_CHANNEL_PTCCH; + } else { + *chan_type = GSMTAP_CHANNEL_PDTCH; + } + } + *data = (uint8_t *)&l1sap->u.rach_ind.ra; *len = 1; @@ -1303,6 +1312,32 @@ return 0; } +/* Special case for Access Bursts on PDTCH/U or PTCCH/U */ +static int l1sap_pdch_rach(struct gsm_bts_trx *trx, struct ph_rach_ind_param *rach_ind) +{ + /* Filter out noise / interference / ghosts */ + if (!rach_pass_filter(rach_ind, trx->bts)) + return -EAGAIN; + + /* PTCCH/U (Packet Timing Advance Control Channel) */ + if (L1SAP_IS_PTCCH(rach_ind->fn)) { + LOGPFN(DL1P, LOGL_DEBUG, rach_ind->fn, + /* TODO: calculate and print Timing Advance Index */ + "Access Burst for continuous Timing Advance control (toa256=%d)\n", + rach_ind->acc_delay_256bits); + + /* QTA: Timing Advance in units of 1/4 of a symbol */ + pcu_tx_rach_ind(trx->bts, rach_ind->acc_delay_256bits >> 6, + rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, + rach_ind->burst_type, PCU_IF_SAPI_PTCCH); + return 0; + } else { /* The MS may acknowledge DL data by 4 consequent Access Bursts */ + LOGPFN(DL1P, LOGL_NOTICE, rach_ind->fn, + "Access Bursts on PDTCH/U are not (yet) supported\n"); + return -ENOTSUP; + } +} + /* RACH received from bts model */ static int l1sap_ph_rach_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct ph_rach_ind_param *rach_ind) @@ -1312,22 +1347,15 @@ DEBUGPFN(DL1P, rach_ind->fn, "Rx PH-RA.ind\n"); - /* PTCCH/UL (Packet Timing Advance Control Channel) */ - if (L1SAP_IS_CHAN_PDCH(rach_ind->chan_nr) && L1SAP_IS_PTCCH(rach_ind->fn)) { - LOGPFN(DL1P, LOGL_DEBUG, rach_ind->fn, - /* TODO: calculate and print Timing Advance Index */ - "Access Burst for continuous Timing Advance control (toa256=%d)\n", - rach_ind->acc_delay_256bits); - - /* QTA: Timing Advance in units of 1/4 of a symbol */ - pcu_tx_rach_ind(bts, rach_ind->acc_delay_256bits >> 6, - rach_ind->ra, rach_ind->fn, rach_ind->is_11bit, - rach_ind->burst_type, PCU_IF_SAPI_PTCCH); - return 0; - } - - /* check for handover access burst on dedicated channels */ - if (!L1SAP_IS_CHAN_RACH(rach_ind->chan_nr)) { + /* Check the origin of an Access Burst */ + switch (rach_ind->chan_nr & 0xf8) { + case RSL_CHAN_RACH: + /* CS or PS RACH, to be handled in this function */ + break; + case RSL_CHAN_OSMO_PDCH: + /* TODO: do we need to count Access Bursts on PDCH? */ + return l1sap_pdch_rach(trx, rach_ind); + default: rate_ctr_inc2(trx->bts->ctrs, BTS_CTR_RACH_HO); return l1sap_handover_rach(trx, rach_ind); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I461fde9f4543c45c42b591cd3fd0ff3d98673cec Gerrit-Change-Number: 15711 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 gerrit-no-reply at lists.osmocom.org Wed Oct 9 11:14:08 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:14:08 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15712 ) Change subject: L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() ...................................................................... L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach() Change-Id: Id263c2b716fd282d37d705a1c5f430ce7c0edaf0 --- M src/common/l1sap.c 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/src/common/l1sap.c b/src/common/l1sap.c index 06de8a3..67d569b 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -371,7 +371,7 @@ } *data = (uint8_t *)&l1sap->u.rach_ind.ra; - *len = 1; + *len = (l1sap->u.rach_ind.is_11bit) ? 2 : 1; return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id263c2b716fd282d37d705a1c5f430ce7c0edaf0 Gerrit-Change-Number: 15712 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 gerrit-no-reply at lists.osmocom.org Wed Oct 9 11:14:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:14:30 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps 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 paging into gprs_gb ...................................................................... Patch Set 4: Code-Review+2 -- 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: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:14: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 Oct 9 11:16:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:16:01 +0000 Subject: Change in ...osmo-pcu[master]: encoding: fix space, tabs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15717 ) Change subject: encoding: fix space, tabs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I80ac88f50bfedfd2b86d548883313b5a187b1e8f Gerrit-Change-Number: 15717 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:16: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 Oct 9 11:16:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:16:14 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps paging into gprs_gb In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps paging into gprs_gb ...................................................................... Patch Set 4: 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: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:16: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 Oct 9 11:29:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:29:14 +0000 Subject: Change in ...osmo-trx[master]: CommonLibs: check HAVE_CONFIG_H before including it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15684 ) Change subject: CommonLibs: check HAVE_CONFIG_H before including it ...................................................................... Patch Set 2: Waiting for comments on questions I asked. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb9e938e7794b67b1db23a31e106c8945f79cf24 Gerrit-Change-Number: 15684 Gerrit-PatchSet: 2 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:29: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 Wed Oct 9 11:36:42 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 11:36:42 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15718 Change subject: gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm ...................................................................... gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm GCC warns us that 'pmm_state_fsm_timer_cb' is defined but not used. This function was introduced in [1], but was not assigned to the FSM. [1] I66c2ac0350cb074aefd9a22c5121acf723f239d3 Change-Id: Ib040befc87b2676aad2b8fe3671404fb3f5b030b --- M src/sgsn/gprs_mm_state_iu_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/18/15718/1 diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c index e6b80d7..ea31941 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -140,6 +140,7 @@ .states = mm_state_iu_fsm_states, .num_states = ARRAY_SIZE(mm_state_iu_fsm_states), .event_names = mm_state_iu_fsm_event_names, + .timer_cb = pmm_state_fsm_timer_cb, .log_subsys = DMM, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib040befc87b2676aad2b8fe3671404fb3f5b030b Gerrit-Change-Number: 15718 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 Oct 9 11:43:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:43:41 +0000 Subject: Change in ...osmo-trx[master]: Initial XTRX support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 ) Change subject: Initial XTRX support ...................................................................... Patch Set 3: (5 comments) https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp File Transceiver52M/device/xtrx/XTRXDevice.cpp: https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 49 PS1, Line 49: << " rx_path(0): " << (rx_paths.size() ? rx_paths[0] : "<>") > Looks like it can be 0 if we don't specify rx/tx-path in the config file. [?] in trx_start() (osmo-trx.cpp): /* Generate vector of rx/tx_path: */ for (i = 0; i < trx->cfg.num_chans; i++) { rx_paths.push_back(charp2str(trx->cfg.chans[i].rx_path)); tx_paths.push_back(charp2str(trx->cfg.chans[i].tx_path)); } So it cannot be size()==0 unless there's cnum_chans=0, which shouldn't happen. IMHO having this check here is unnecesary and confusing for people reading the code. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 52 PS1, Line 52: txsps = tx_sps; > Yes, but it looks cleaner here and doesn't affect performance. I disagree, but it's bike-shed talking anyway, so keep it this way if you prefer, np. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 177 PS1, Line 177: return false; > What do you mean by "other devices" here? Other device implementations. For instance UHDDevice does: if (started) { LOGC(DDEV, ERROR) << "Device already started"; return false; } So fine here :) Maybe wanna add a LOGC like UHDDevice. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 280 PS1, Line 280: int res = xtrx_set_gain(device, XTRX_CH_AB, XTRX_TX_PAD_GAIN, dB - 30, &txGain); > I'll ask Sergey why is it done this way but I'm sure there is a reason for that. Then please document so. https://gerrit.osmocom.org/#/c/15685/1/Transceiver52M/device/xtrx/XTRXDevice.cpp at 345 PS1, Line 345: if (!started) > Does it hurt to check, just to be sure? It adds confusing about how the system is expected to work, and makes it difficult to refactor later (because looks like different devices expect the generic framework to work in different ways). For instance UHDDevice doesn't do this kind of check. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 3 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:43:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 11:45:36 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 9 Oct 2019 11:45:36 +0000 Subject: Change in ...libosmocore[master]: gsm0508: add functions to calculate beginning of a block Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... gsm0508: add functions to calculate beginning of a block The calculation of the beginning of a block for TCH/F, TCH/H and FACCH can be challenging since those channels are affected by the diagonal interleaving of the TCH channels. However, GSM 05.02 Section 7 Table 1 of 5 specifies how the blocks are distributed over the TDMA frame interval. Lets add a mapping function that is based on that table Related: OS#3803 Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm0502/gsm0502_test.c A tests/gsm0502/gsm0502_test.ok M tests/testsuite.at 7 files changed, 608 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/15719/1 diff --git a/include/osmocom/gsm/gsm0502.h b/include/osmocom/gsm/gsm0502.h index fe5cf7e..a0734ae 100644 --- a/include/osmocom/gsm/gsm0502.h +++ b/include/osmocom/gsm/gsm0502.h @@ -35,3 +35,54 @@ unsigned int gsm0502_calc_paging_group(struct gsm48_control_channel_descr *chan_desc, uint64_t imsi); + +/* Section 7 Table 1 of 5 Mapping of logical channels onto physical channels */ +#define TCH_REPEAT_LENGTH 13 +#define FACCH_F_REPEAT_LENGTH 13 +#define FACCH_H_REPEAT_LENGTH 26 +static const uint8_t tch_f_traffic_block_map[3][8] = { + {0, 1, 2, 3, 4, 5, 6, 7}, + {4, 5, 6, 7, 8, 9, 10, 11}, + {8, 9, 10, 11, 0, 1, 2, 3} +}; + +static const uint8_t tch_h0_traffic_block_map[3][4] = { + {0, 2, 4, 6}, + {4, 6, 8, 10}, + {8, 10, 0, 2} +}; + +static const uint8_t tch_h1_traffic_block_map[3][4] = { + {1, 3, 5, 7}, + {5, 7, 9, 11}, + {9, 11, 1, 3} +}; + +static const uint8_t facch_f_traffic_block_map[3][8] = { + {0, 1, 2, 3, 4, 5, 6, 7}, + {4, 5, 6, 7, 8, 9, 10, 11}, + {8, 9, 10, 11, 0, 1, 2, 3} +}; + +static const uint8_t facch_h0_traffic_block_map[3][6] = { + {0, 2, 4, 6, 8, 10}, + {8, 10, 13, 15, 17, 19}, + {17, 19, 21, 23, 0, 2} +}; + +static const uint8_t facch_h1_traffic_block_map[3][6] = { + {1, 3, 5, 7, 9, 11}, + {9, 11, 14, 16, 18, 20}, + {18, 20, 22, 24, 1, 3} +}; + +enum fn_remap_channel { + FN_REMAP_TCH_F, + FN_REMAP_TCH_H0, + FN_REMAP_TCH_H1, + FN_REMAP_FACCH_F, + FN_REMAP_FACCH_H0, + FN_REMAP_FACCH_H1, +}; + +unsigned int gsm0502_fn_remap(unsigned int fn, enum fn_remap_channel channel); diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 53259a4..ff88ba8 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -27,6 +27,7 @@ #include #include #include +#include unsigned int gsm0502_calc_paging_group(struct gsm48_control_channel_descr *chan_desc, uint64_t imsi) @@ -44,3 +45,118 @@ return group; } + +/* Struct to describe a remapping function for block frame nbumbers. The member + * blockend describes the ending of a block for which we want to determine the + * beginning frame number. The member distance describes the value we need to + * subtract from the blockend frame number in order to get the beginning of the + * the block. The member cycle describes the Repeat length in TDMA frames we + * are dealing with. For traffic channels this is always 13, for control + * channels it is different. The member len simply defines amount of + * blockendings and distances we store in the remap table */ +struct fn_remap_table { + unsigned int cycle; + unsigned int len; + uint8_t blockend[8]; + uint8_t distance[8]; +}; + +/* Memory to hold the remap tables we will automatically generate on startup */ +static struct fn_remap_table tch_f_remap_table; +static struct fn_remap_table tch_h0_remap_table; +static struct fn_remap_table tch_h1_remap_table; +static struct fn_remap_table facch_f_remap_table; +static struct fn_remap_table facch_h0_remap_table; +static struct fn_remap_table facch_h1_remap_table; + +/* Generate a remap table from a given block map. A block map lists the block + * layout as defined in GSM 05.02, Section 7 Table 1 of 5, one block per row. + * Parameters: + * table: name of the remap table to output + * map: traffic block map input + * rows: length of the traffic block map + * cols: witdh of the traffic block map + * repeat: repeat length in TDMA frames (cycle) */ +#define fn_remap_table_from_traffic_block_map(table, map, rows, cols, repeat) \ + for(i=0;icycle; + + for (i = 0; i < table->len; i++) { + if (table->blockend[i] == fn_cycle) { + sub = table->distance[i]; + break; + } + } + + fn_map = (fn + GSM_MAX_FN - sub) % GSM_MAX_FN; + + return fn_map; +} diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index ea1f759..724fe5b 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -107,6 +107,7 @@ gsm0480_gen_reject; gsm0502_calc_paging_group; +gsm0502_fn_remap; gsm0503_xcch; gsm0503_rach; diff --git a/tests/Makefile.am b/tests/Makefile.am index ececf69..8e6816a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -33,6 +33,7 @@ sockaddr_str/sockaddr_str_test \ use_count/use_count_test \ context/context_test \ + gsm0502/gsm0502_test \ $(NULL) if ENABLE_MSGFILE @@ -108,6 +109,9 @@ conv_conv_test_SOURCES = conv/conv_test.c conv/conv.c conv_conv_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la +gsm0502_gsm0502_test_SOURCES = gsm0502/gsm0502_test.c +gsm0502_gsm0502_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la + conv_conv_gsm0503_test_SOURCES = conv/conv_gsm0503_test.c conv/conv.c conv/gsm0503_test_vectors.c conv_conv_gsm0503_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la conv_conv_gsm0503_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/tests/conv diff --git a/tests/gsm0502/gsm0502_test.c b/tests/gsm0502/gsm0502_test.c new file mode 100644 index 0000000..2b2e03a --- /dev/null +++ b/tests/gsm0502/gsm0502_test.c @@ -0,0 +1,159 @@ +/* + * (C) 2019 by sysmocom s.f.m.c. GmbH + * Author: Philipp Maier + * 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. + * + */ + +#include +#include +#include +#include +#include + +/* TCH-F, block endings, 3x 104-frame cycles */ +unsigned int tch_f_fn_samples[] = { 1036987, 1036991, 1036995, 1037000, 1037004, 1037008, 1037013, 1037017, + 1037021, 1037026, 1037030, 1037034, 1037039, 1037043, 1037047, 1037052, + 1037056, 1037060, 1037065, + 1037069, 1037073, 1037078, 1037082, 1037086, 1037091, 1037095, 1037099, + 1037104, 1037108, 1037112, + 1037117, 1037121, 1037125, 1037130, 1037134, 1037138, 1037143, 1037147, + 1037151, 1037156, 1037160, + 1037164, 1037169, 1037173, 1037177, 1037182, 1037186, 1037190, 1037195, + 1037199, 1037203, 1037208, + 1037212, 1037216, 1037221, 1037225, 1037229, 1037234, 1037238, 1037242, + 1037247, 1037251, 1037255, + 1037260, 1037264, 1037268, 1037273, 1037277, 1037281, 1037286, 1037290, + 1037294 +}; + +/* TCH-H0, block endings, 3x 104-frame cycles */ +unsigned int tch_h0_fn_samples[] = { 1175826, 1175830, 1175834, 1175839, 1175843, 1175847, 1175852, 1175856, + 1175860, 1175865, 1175869, 1175873, 1175878, 1175882, 1175886, 1175891, + 1175895, 1175899, 1175904, + 1175908, 1175912, 1175917, 1175921, 1175925, 1175930, 1175934, 1175938, + 1175943, 1175947, 1175951, + 1175956, 1175960, 1175964, 1175969, 1175973, 1175977, 1175982, 1175986, + 1175990, 1175995, 1175999, + 1176003, 1176008, 1176012, 1176016, 1176021, 1176025, 1176029, 1176034, + 1176038, 1176042, 1176047, + 1176051, 1176055, 1176060, 1176064, 1176068, 1176073, 1176077, 1176081, + 1176086, 1176090, 1176094, + 1176099, 1176103, 1176107, 1176112, 1176116, 1176120, 1176125, 1176129, + 1176133 +}; + +/* TCH-H1, block endings, 3x 104-frame cycles */ +unsigned int tch_h1_fn_samples[] = { 1175827, 1175831, 1175835, 1175840, 1175844, 1175848, 1175853, 1175857, + 1175861, 1175866, 1175870, 1175874, 1175879, 1175883, 1175887, 1175892, + 1175896, 1175900, 1175905, + 1175909, 1175913, 1175918, 1175922, 1175926, 1175931, 1175935, 1175939, + 1175944, 1175948, 1175952, + 1175957, 1175961, 1175965, 1175970, 1175974, 1175978, 1175983, 1175987, + 1175991, 1175996, 1176000, + 1176004, 1176009, 1176013, 1176017, 1176022, 1176026, 1176030, 1176035, + 1176039, 1176043, 1176048, + 1176052, 1176056, 1176061, 1176065, 1176069, 1176074, 1176078, 1176082, + 1176087, 1176091, 1176095, + 1176100, 1176104, 1176108, 1176113, 1176117, 1176121, 1176126, 1176130, + 1176134 +}; + +/* FACCH-F, block endings */ +unsigned int facch_f_fn_samples[] = { 177275, 177314, 177336, 177375, 177396, 177435, 178328, 178367, 178393, + 180014, 180053, 180079, 180113, 180144, 180183 +}; + +/* FACCH-H0, block endings */ +unsigned int facch_h0_fn_samples[] = { 499956, 499999, 500034, 500077, 500952, 501836, 501880, 502850, 502894, + 502937, 503006, 503050 +}; + +/* FACCH-H1, block endings */ +unsigned int facch_h1_fn_samples[] = { 500728, 500771, 500797, 500841, 500875, 500919, 501751, 501794, 501837, + 502782, 502825, 502869, 502903, 502955, 502999 +}; + +static void test_gsm0502_fn_remap() +{ + unsigned int i; + unsigned int fn_begin; + unsigned int fn_end; + + printf("Testing gsm0502_fn_remap()\n"); + printf("TCH/F\n"); + for (i = 0; i < ARRAY_SIZE(tch_h1_fn_samples); i++) { + fn_end = tch_f_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_TCH_F); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("TCH/H0\n"); + for (i = 0; i < ARRAY_SIZE(tch_h0_fn_samples); i++) { + fn_end = tch_h0_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_TCH_H0); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("TCH/H1\n"); + for (i = 0; i < ARRAY_SIZE(tch_h1_fn_samples); i++) { + fn_end = tch_h1_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_TCH_H1); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("FACCH/F\n"); + for (i = 0; i < ARRAY_SIZE(facch_f_fn_samples); i++) { + fn_end = facch_f_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_FACCH_F); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("FACCH/H0\n"); + for (i = 0; i < ARRAY_SIZE(facch_h0_fn_samples); i++) { + fn_end = facch_h0_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_FACCH_H0); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("FACCH/H1\n"); + for (i = 0; i < ARRAY_SIZE(facch_h1_fn_samples); i++) { + fn_end = facch_h1_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_FACCH_H1); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); +} + +int main(int argc, char **argv) +{ + test_gsm0502_fn_remap(); + return EXIT_SUCCESS; +} diff --git a/tests/gsm0502/gsm0502_test.ok b/tests/gsm0502/gsm0502_test.ok new file mode 100644 index 0000000..89418d3 --- /dev/null +++ b/tests/gsm0502/gsm0502_test.ok @@ -0,0 +1,271 @@ +Testing gsm0502_fn_remap() +TCH/F +fn_end=1036987, fn_end%104=3, fn_begin=1036979, fn_begin%104=99 +fn_end=1036991, fn_end%104=7, fn_begin=1036984, fn_begin%104=0 +fn_end=1036995, fn_end%104=11, fn_begin=1036988, fn_begin%104=4 +fn_end=1037000, fn_end%104=16, fn_begin=1036992, fn_begin%104=8 +fn_end=1037004, fn_end%104=20, fn_begin=1036997, fn_begin%104=13 +fn_end=1037008, fn_end%104=24, fn_begin=1037001, fn_begin%104=17 +fn_end=1037013, fn_end%104=29, fn_begin=1037005, fn_begin%104=21 +fn_end=1037017, fn_end%104=33, fn_begin=1037010, fn_begin%104=26 +fn_end=1037021, fn_end%104=37, fn_begin=1037014, fn_begin%104=30 +fn_end=1037026, fn_end%104=42, fn_begin=1037018, fn_begin%104=34 +fn_end=1037030, fn_end%104=46, fn_begin=1037023, fn_begin%104=39 +fn_end=1037034, fn_end%104=50, fn_begin=1037027, fn_begin%104=43 +fn_end=1037039, fn_end%104=55, fn_begin=1037031, fn_begin%104=47 +fn_end=1037043, fn_end%104=59, fn_begin=1037036, fn_begin%104=52 +fn_end=1037047, fn_end%104=63, fn_begin=1037040, fn_begin%104=56 +fn_end=1037052, fn_end%104=68, fn_begin=1037044, fn_begin%104=60 +fn_end=1037056, fn_end%104=72, fn_begin=1037049, fn_begin%104=65 +fn_end=1037060, fn_end%104=76, fn_begin=1037053, fn_begin%104=69 +fn_end=1037065, fn_end%104=81, fn_begin=1037057, fn_begin%104=73 +fn_end=1037069, fn_end%104=85, fn_begin=1037062, fn_begin%104=78 +fn_end=1037073, fn_end%104=89, fn_begin=1037066, fn_begin%104=82 +fn_end=1037078, fn_end%104=94, fn_begin=1037070, fn_begin%104=86 +fn_end=1037082, fn_end%104=98, fn_begin=1037075, fn_begin%104=91 +fn_end=1037086, fn_end%104=102, fn_begin=1037079, fn_begin%104=95 +fn_end=1037091, fn_end%104=3, fn_begin=1037083, fn_begin%104=99 +fn_end=1037095, fn_end%104=7, fn_begin=1037088, fn_begin%104=0 +fn_end=1037099, fn_end%104=11, fn_begin=1037092, fn_begin%104=4 +fn_end=1037104, fn_end%104=16, fn_begin=1037096, fn_begin%104=8 +fn_end=1037108, fn_end%104=20, fn_begin=1037101, fn_begin%104=13 +fn_end=1037112, fn_end%104=24, fn_begin=1037105, fn_begin%104=17 +fn_end=1037117, fn_end%104=29, fn_begin=1037109, fn_begin%104=21 +fn_end=1037121, fn_end%104=33, fn_begin=1037114, fn_begin%104=26 +fn_end=1037125, fn_end%104=37, fn_begin=1037118, fn_begin%104=30 +fn_end=1037130, fn_end%104=42, fn_begin=1037122, fn_begin%104=34 +fn_end=1037134, fn_end%104=46, fn_begin=1037127, fn_begin%104=39 +fn_end=1037138, fn_end%104=50, fn_begin=1037131, fn_begin%104=43 +fn_end=1037143, fn_end%104=55, fn_begin=1037135, fn_begin%104=47 +fn_end=1037147, fn_end%104=59, fn_begin=1037140, fn_begin%104=52 +fn_end=1037151, fn_end%104=63, fn_begin=1037144, fn_begin%104=56 +fn_end=1037156, fn_end%104=68, fn_begin=1037148, fn_begin%104=60 +fn_end=1037160, fn_end%104=72, fn_begin=1037153, fn_begin%104=65 +fn_end=1037164, fn_end%104=76, fn_begin=1037157, fn_begin%104=69 +fn_end=1037169, fn_end%104=81, fn_begin=1037161, fn_begin%104=73 +fn_end=1037173, fn_end%104=85, fn_begin=1037166, fn_begin%104=78 +fn_end=1037177, fn_end%104=89, fn_begin=1037170, fn_begin%104=82 +fn_end=1037182, fn_end%104=94, fn_begin=1037174, fn_begin%104=86 +fn_end=1037186, fn_end%104=98, fn_begin=1037179, fn_begin%104=91 +fn_end=1037190, fn_end%104=102, fn_begin=1037183, fn_begin%104=95 +fn_end=1037195, fn_end%104=3, fn_begin=1037187, fn_begin%104=99 +fn_end=1037199, fn_end%104=7, fn_begin=1037192, fn_begin%104=0 +fn_end=1037203, fn_end%104=11, fn_begin=1037196, fn_begin%104=4 +fn_end=1037208, fn_end%104=16, fn_begin=1037200, fn_begin%104=8 +fn_end=1037212, fn_end%104=20, fn_begin=1037205, fn_begin%104=13 +fn_end=1037216, fn_end%104=24, fn_begin=1037209, fn_begin%104=17 +fn_end=1037221, fn_end%104=29, fn_begin=1037213, fn_begin%104=21 +fn_end=1037225, fn_end%104=33, fn_begin=1037218, fn_begin%104=26 +fn_end=1037229, fn_end%104=37, fn_begin=1037222, fn_begin%104=30 +fn_end=1037234, fn_end%104=42, fn_begin=1037226, fn_begin%104=34 +fn_end=1037238, fn_end%104=46, fn_begin=1037231, fn_begin%104=39 +fn_end=1037242, fn_end%104=50, fn_begin=1037235, fn_begin%104=43 +fn_end=1037247, fn_end%104=55, fn_begin=1037239, fn_begin%104=47 +fn_end=1037251, fn_end%104=59, fn_begin=1037244, fn_begin%104=52 +fn_end=1037255, fn_end%104=63, fn_begin=1037248, fn_begin%104=56 +fn_end=1037260, fn_end%104=68, fn_begin=1037252, fn_begin%104=60 +fn_end=1037264, fn_end%104=72, fn_begin=1037257, fn_begin%104=65 +fn_end=1037268, fn_end%104=76, fn_begin=1037261, fn_begin%104=69 +fn_end=1037273, fn_end%104=81, fn_begin=1037265, fn_begin%104=73 +fn_end=1037277, fn_end%104=85, fn_begin=1037270, fn_begin%104=78 +fn_end=1037281, fn_end%104=89, fn_begin=1037274, fn_begin%104=82 +fn_end=1037286, fn_end%104=94, fn_begin=1037278, fn_begin%104=86 +fn_end=1037290, fn_end%104=98, fn_begin=1037283, fn_begin%104=91 +fn_end=1037294, fn_end%104=102, fn_begin=1037287, fn_begin%104=95 + +TCH/H0 +fn_end=1175826, fn_end%104=2, fn_begin=1175819, fn_begin%104=99 +fn_end=1175830, fn_end%104=6, fn_begin=1175824, fn_begin%104=0 +fn_end=1175834, fn_end%104=10, fn_begin=1175828, fn_begin%104=4 +fn_end=1175839, fn_end%104=15, fn_begin=1175832, fn_begin%104=8 +fn_end=1175843, fn_end%104=19, fn_begin=1175837, fn_begin%104=13 +fn_end=1175847, fn_end%104=23, fn_begin=1175841, fn_begin%104=17 +fn_end=1175852, fn_end%104=28, fn_begin=1175845, fn_begin%104=21 +fn_end=1175856, fn_end%104=32, fn_begin=1175850, fn_begin%104=26 +fn_end=1175860, fn_end%104=36, fn_begin=1175854, fn_begin%104=30 +fn_end=1175865, fn_end%104=41, fn_begin=1175858, fn_begin%104=34 +fn_end=1175869, fn_end%104=45, fn_begin=1175863, fn_begin%104=39 +fn_end=1175873, fn_end%104=49, fn_begin=1175867, fn_begin%104=43 +fn_end=1175878, fn_end%104=54, fn_begin=1175871, fn_begin%104=47 +fn_end=1175882, fn_end%104=58, fn_begin=1175876, fn_begin%104=52 +fn_end=1175886, fn_end%104=62, fn_begin=1175880, fn_begin%104=56 +fn_end=1175891, fn_end%104=67, fn_begin=1175884, fn_begin%104=60 +fn_end=1175895, fn_end%104=71, fn_begin=1175889, fn_begin%104=65 +fn_end=1175899, fn_end%104=75, fn_begin=1175893, fn_begin%104=69 +fn_end=1175904, fn_end%104=80, fn_begin=1175897, fn_begin%104=73 +fn_end=1175908, fn_end%104=84, fn_begin=1175902, fn_begin%104=78 +fn_end=1175912, fn_end%104=88, fn_begin=1175906, fn_begin%104=82 +fn_end=1175917, fn_end%104=93, fn_begin=1175910, fn_begin%104=86 +fn_end=1175921, fn_end%104=97, fn_begin=1175915, fn_begin%104=91 +fn_end=1175925, fn_end%104=101, fn_begin=1175919, fn_begin%104=95 +fn_end=1175930, fn_end%104=2, fn_begin=1175923, fn_begin%104=99 +fn_end=1175934, fn_end%104=6, fn_begin=1175928, fn_begin%104=0 +fn_end=1175938, fn_end%104=10, fn_begin=1175932, fn_begin%104=4 +fn_end=1175943, fn_end%104=15, fn_begin=1175936, fn_begin%104=8 +fn_end=1175947, fn_end%104=19, fn_begin=1175941, fn_begin%104=13 +fn_end=1175951, fn_end%104=23, fn_begin=1175945, fn_begin%104=17 +fn_end=1175956, fn_end%104=28, fn_begin=1175949, fn_begin%104=21 +fn_end=1175960, fn_end%104=32, fn_begin=1175954, fn_begin%104=26 +fn_end=1175964, fn_end%104=36, fn_begin=1175958, fn_begin%104=30 +fn_end=1175969, fn_end%104=41, fn_begin=1175962, fn_begin%104=34 +fn_end=1175973, fn_end%104=45, fn_begin=1175967, fn_begin%104=39 +fn_end=1175977, fn_end%104=49, fn_begin=1175971, fn_begin%104=43 +fn_end=1175982, fn_end%104=54, fn_begin=1175975, fn_begin%104=47 +fn_end=1175986, fn_end%104=58, fn_begin=1175980, fn_begin%104=52 +fn_end=1175990, fn_end%104=62, fn_begin=1175984, fn_begin%104=56 +fn_end=1175995, fn_end%104=67, fn_begin=1175988, fn_begin%104=60 +fn_end=1175999, fn_end%104=71, fn_begin=1175993, fn_begin%104=65 +fn_end=1176003, fn_end%104=75, fn_begin=1175997, fn_begin%104=69 +fn_end=1176008, fn_end%104=80, fn_begin=1176001, fn_begin%104=73 +fn_end=1176012, fn_end%104=84, fn_begin=1176006, fn_begin%104=78 +fn_end=1176016, fn_end%104=88, fn_begin=1176010, fn_begin%104=82 +fn_end=1176021, fn_end%104=93, fn_begin=1176014, fn_begin%104=86 +fn_end=1176025, fn_end%104=97, fn_begin=1176019, fn_begin%104=91 +fn_end=1176029, fn_end%104=101, fn_begin=1176023, fn_begin%104=95 +fn_end=1176034, fn_end%104=2, fn_begin=1176027, fn_begin%104=99 +fn_end=1176038, fn_end%104=6, fn_begin=1176032, fn_begin%104=0 +fn_end=1176042, fn_end%104=10, fn_begin=1176036, fn_begin%104=4 +fn_end=1176047, fn_end%104=15, fn_begin=1176040, fn_begin%104=8 +fn_end=1176051, fn_end%104=19, fn_begin=1176045, fn_begin%104=13 +fn_end=1176055, fn_end%104=23, fn_begin=1176049, fn_begin%104=17 +fn_end=1176060, fn_end%104=28, fn_begin=1176053, fn_begin%104=21 +fn_end=1176064, fn_end%104=32, fn_begin=1176058, fn_begin%104=26 +fn_end=1176068, fn_end%104=36, fn_begin=1176062, fn_begin%104=30 +fn_end=1176073, fn_end%104=41, fn_begin=1176066, fn_begin%104=34 +fn_end=1176077, fn_end%104=45, fn_begin=1176071, fn_begin%104=39 +fn_end=1176081, fn_end%104=49, fn_begin=1176075, fn_begin%104=43 +fn_end=1176086, fn_end%104=54, fn_begin=1176079, fn_begin%104=47 +fn_end=1176090, fn_end%104=58, fn_begin=1176084, fn_begin%104=52 +fn_end=1176094, fn_end%104=62, fn_begin=1176088, fn_begin%104=56 +fn_end=1176099, fn_end%104=67, fn_begin=1176092, fn_begin%104=60 +fn_end=1176103, fn_end%104=71, fn_begin=1176097, fn_begin%104=65 +fn_end=1176107, fn_end%104=75, fn_begin=1176101, fn_begin%104=69 +fn_end=1176112, fn_end%104=80, fn_begin=1176105, fn_begin%104=73 +fn_end=1176116, fn_end%104=84, fn_begin=1176110, fn_begin%104=78 +fn_end=1176120, fn_end%104=88, fn_begin=1176114, fn_begin%104=82 +fn_end=1176125, fn_end%104=93, fn_begin=1176118, fn_begin%104=86 +fn_end=1176129, fn_end%104=97, fn_begin=1176123, fn_begin%104=91 +fn_end=1176133, fn_end%104=101, fn_begin=1176127, fn_begin%104=95 + +TCH/H1 +fn_end=1175827, fn_end%104=3, fn_begin=1175820, fn_begin%104=100 +fn_end=1175831, fn_end%104=7, fn_begin=1175825, fn_begin%104=1 +fn_end=1175835, fn_end%104=11, fn_begin=1175829, fn_begin%104=5 +fn_end=1175840, fn_end%104=16, fn_begin=1175833, fn_begin%104=9 +fn_end=1175844, fn_end%104=20, fn_begin=1175838, fn_begin%104=14 +fn_end=1175848, fn_end%104=24, fn_begin=1175842, fn_begin%104=18 +fn_end=1175853, fn_end%104=29, fn_begin=1175846, fn_begin%104=22 +fn_end=1175857, fn_end%104=33, fn_begin=1175851, fn_begin%104=27 +fn_end=1175861, fn_end%104=37, fn_begin=1175855, fn_begin%104=31 +fn_end=1175866, fn_end%104=42, fn_begin=1175859, fn_begin%104=35 +fn_end=1175870, fn_end%104=46, fn_begin=1175864, fn_begin%104=40 +fn_end=1175874, fn_end%104=50, fn_begin=1175868, fn_begin%104=44 +fn_end=1175879, fn_end%104=55, fn_begin=1175872, fn_begin%104=48 +fn_end=1175883, fn_end%104=59, fn_begin=1175877, fn_begin%104=53 +fn_end=1175887, fn_end%104=63, fn_begin=1175881, fn_begin%104=57 +fn_end=1175892, fn_end%104=68, fn_begin=1175885, fn_begin%104=61 +fn_end=1175896, fn_end%104=72, fn_begin=1175890, fn_begin%104=66 +fn_end=1175900, fn_end%104=76, fn_begin=1175894, fn_begin%104=70 +fn_end=1175905, fn_end%104=81, fn_begin=1175898, fn_begin%104=74 +fn_end=1175909, fn_end%104=85, fn_begin=1175903, fn_begin%104=79 +fn_end=1175913, fn_end%104=89, fn_begin=1175907, fn_begin%104=83 +fn_end=1175918, fn_end%104=94, fn_begin=1175911, fn_begin%104=87 +fn_end=1175922, fn_end%104=98, fn_begin=1175916, fn_begin%104=92 +fn_end=1175926, fn_end%104=102, fn_begin=1175920, fn_begin%104=96 +fn_end=1175931, fn_end%104=3, fn_begin=1175924, fn_begin%104=100 +fn_end=1175935, fn_end%104=7, fn_begin=1175929, fn_begin%104=1 +fn_end=1175939, fn_end%104=11, fn_begin=1175933, fn_begin%104=5 +fn_end=1175944, fn_end%104=16, fn_begin=1175937, fn_begin%104=9 +fn_end=1175948, fn_end%104=20, fn_begin=1175942, fn_begin%104=14 +fn_end=1175952, fn_end%104=24, fn_begin=1175946, fn_begin%104=18 +fn_end=1175957, fn_end%104=29, fn_begin=1175950, fn_begin%104=22 +fn_end=1175961, fn_end%104=33, fn_begin=1175955, fn_begin%104=27 +fn_end=1175965, fn_end%104=37, fn_begin=1175959, fn_begin%104=31 +fn_end=1175970, fn_end%104=42, fn_begin=1175963, fn_begin%104=35 +fn_end=1175974, fn_end%104=46, fn_begin=1175968, fn_begin%104=40 +fn_end=1175978, fn_end%104=50, fn_begin=1175972, fn_begin%104=44 +fn_end=1175983, fn_end%104=55, fn_begin=1175976, fn_begin%104=48 +fn_end=1175987, fn_end%104=59, fn_begin=1175981, fn_begin%104=53 +fn_end=1175991, fn_end%104=63, fn_begin=1175985, fn_begin%104=57 +fn_end=1175996, fn_end%104=68, fn_begin=1175989, fn_begin%104=61 +fn_end=1176000, fn_end%104=72, fn_begin=1175994, fn_begin%104=66 +fn_end=1176004, fn_end%104=76, fn_begin=1175998, fn_begin%104=70 +fn_end=1176009, fn_end%104=81, fn_begin=1176002, fn_begin%104=74 +fn_end=1176013, fn_end%104=85, fn_begin=1176007, fn_begin%104=79 +fn_end=1176017, fn_end%104=89, fn_begin=1176011, fn_begin%104=83 +fn_end=1176022, fn_end%104=94, fn_begin=1176015, fn_begin%104=87 +fn_end=1176026, fn_end%104=98, fn_begin=1176020, fn_begin%104=92 +fn_end=1176030, fn_end%104=102, fn_begin=1176024, fn_begin%104=96 +fn_end=1176035, fn_end%104=3, fn_begin=1176028, fn_begin%104=100 +fn_end=1176039, fn_end%104=7, fn_begin=1176033, fn_begin%104=1 +fn_end=1176043, fn_end%104=11, fn_begin=1176037, fn_begin%104=5 +fn_end=1176048, fn_end%104=16, fn_begin=1176041, fn_begin%104=9 +fn_end=1176052, fn_end%104=20, fn_begin=1176046, fn_begin%104=14 +fn_end=1176056, fn_end%104=24, fn_begin=1176050, fn_begin%104=18 +fn_end=1176061, fn_end%104=29, fn_begin=1176054, fn_begin%104=22 +fn_end=1176065, fn_end%104=33, fn_begin=1176059, fn_begin%104=27 +fn_end=1176069, fn_end%104=37, fn_begin=1176063, fn_begin%104=31 +fn_end=1176074, fn_end%104=42, fn_begin=1176067, fn_begin%104=35 +fn_end=1176078, fn_end%104=46, fn_begin=1176072, fn_begin%104=40 +fn_end=1176082, fn_end%104=50, fn_begin=1176076, fn_begin%104=44 +fn_end=1176087, fn_end%104=55, fn_begin=1176080, fn_begin%104=48 +fn_end=1176091, fn_end%104=59, fn_begin=1176085, fn_begin%104=53 +fn_end=1176095, fn_end%104=63, fn_begin=1176089, fn_begin%104=57 +fn_end=1176100, fn_end%104=68, fn_begin=1176093, fn_begin%104=61 +fn_end=1176104, fn_end%104=72, fn_begin=1176098, fn_begin%104=66 +fn_end=1176108, fn_end%104=76, fn_begin=1176102, fn_begin%104=70 +fn_end=1176113, fn_end%104=81, fn_begin=1176106, fn_begin%104=74 +fn_end=1176117, fn_end%104=85, fn_begin=1176111, fn_begin%104=79 +fn_end=1176121, fn_end%104=89, fn_begin=1176115, fn_begin%104=83 +fn_end=1176126, fn_end%104=94, fn_begin=1176119, fn_begin%104=87 +fn_end=1176130, fn_end%104=98, fn_begin=1176124, fn_begin%104=92 +fn_end=1176134, fn_end%104=102, fn_begin=1176128, fn_begin%104=96 + +FACCH/F +fn_end=177275, fn_end%104=59, fn_begin=177268, fn_begin%104=52 +fn_end=177314, fn_end%104=98, fn_begin=177307, fn_begin%104=91 +fn_end=177336, fn_end%104=16, fn_begin=177328, fn_begin%104=8 +fn_end=177375, fn_end%104=55, fn_begin=177367, fn_begin%104=47 +fn_end=177396, fn_end%104=76, fn_begin=177389, fn_begin%104=69 +fn_end=177435, fn_end%104=11, fn_begin=177428, fn_begin%104=4 +fn_end=178328, fn_end%104=72, fn_begin=178321, fn_begin%104=65 +fn_end=178367, fn_end%104=7, fn_begin=178360, fn_begin%104=0 +fn_end=178393, fn_end%104=33, fn_begin=178386, fn_begin%104=26 +fn_end=180014, fn_end%104=94, fn_begin=180006, fn_begin%104=86 +fn_end=180053, fn_end%104=29, fn_begin=180045, fn_begin%104=21 +fn_end=180079, fn_end%104=55, fn_begin=180071, fn_begin%104=47 +fn_end=180113, fn_end%104=89, fn_begin=180106, fn_begin%104=82 +fn_end=180144, fn_end%104=16, fn_begin=180136, fn_begin%104=8 +fn_end=180183, fn_end%104=55, fn_begin=180175, fn_begin%104=47 + +FACCH/H0 +fn_end=499956, fn_end%104=28, fn_begin=499945, fn_begin%104=17 +fn_end=499999, fn_end%104=71, fn_begin=499988, fn_begin%104=60 +fn_end=500034, fn_end%104=2, fn_begin=500023, fn_begin%104=95 +fn_end=500077, fn_end%104=45, fn_begin=500066, fn_begin%104=34 +fn_end=500952, fn_end%104=88, fn_begin=500942, fn_begin%104=78 +fn_end=501836, fn_end%104=36, fn_begin=501826, fn_begin%104=26 +fn_end=501880, fn_end%104=80, fn_begin=501869, fn_begin%104=69 +fn_end=502850, fn_end%104=10, fn_begin=502840, fn_begin%104=0 +fn_end=502894, fn_end%104=54, fn_begin=502883, fn_begin%104=43 +fn_end=502937, fn_end%104=97, fn_begin=502926, fn_begin%104=86 +fn_end=503006, fn_end%104=62, fn_begin=502996, fn_begin%104=52 +fn_end=503050, fn_end%104=2, fn_begin=503039, fn_begin%104=95 + +FACCH/H1 +fn_end=500728, fn_end%104=72, fn_begin=500717, fn_begin%104=61 +fn_end=500771, fn_end%104=11, fn_begin=500761, fn_begin%104=1 +fn_end=500797, fn_end%104=37, fn_begin=500787, fn_begin%104=27 +fn_end=500841, fn_end%104=81, fn_begin=500830, fn_begin%104=70 +fn_end=500875, fn_end%104=11, fn_begin=500865, fn_begin%104=1 +fn_end=500919, fn_end%104=55, fn_begin=500908, fn_begin%104=44 +fn_end=501751, fn_end%104=55, fn_begin=501740, fn_begin%104=44 +fn_end=501794, fn_end%104=98, fn_begin=501783, fn_begin%104=87 +fn_end=501837, fn_end%104=37, fn_begin=501827, fn_begin%104=27 +fn_end=502782, fn_end%104=46, fn_begin=502771, fn_begin%104=35 +fn_end=502825, fn_end%104=89, fn_begin=502815, fn_begin%104=79 +fn_end=502869, fn_end%104=29, fn_begin=502858, fn_begin%104=18 +fn_end=502903, fn_end%104=63, fn_begin=502893, fn_begin%104=53 +fn_end=502955, fn_end%104=11, fn_begin=502945, fn_begin%104=1 +fn_end=502999, fn_end%104=55, fn_begin=502988, fn_begin%104=44 + diff --git a/tests/testsuite.at b/tests/testsuite.at index a043f0c..c231b96 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -126,6 +126,12 @@ AT_CHECK([$abs_top_builddir/tests/lapd/lapd_test], [0], [expout], [ignore]) AT_CLEANUP +AT_SETUP([gsm0502]) +AT_KEYWORDS([gsm0502]) +cat $abs_srcdir/gsm0502/gsm0502_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/gsm0502/gsm0502_test], [0], [expout], [ignore]) +AT_CLEANUP + AT_SETUP([gsm0808]) AT_KEYWORDS([gsm0808]) cat $abs_srcdir/gsm0808/gsm0808_test.ok > expout -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 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 Wed Oct 9 11:51:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:51:40 +0000 Subject: Change in ...osmo-trx[master]: Initial XTRX support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 ) Change subject: Initial XTRX support ...................................................................... Patch Set 3: (3 comments) Overall looks fine, please clean up small things I pointed out in this version and in first version of the patch, https://gerrit.osmocom.org/#/c/15685/3/Transceiver52M/device/xtrx/XTRXDevice.cpp File Transceiver52M/device/xtrx/XTRXDevice.cpp: https://gerrit.osmocom.org/#/c/15685/3/Transceiver52M/device/xtrx/XTRXDevice.cpp at 38 PS3, Line 38: // Rx/Tx timestamp difference in samples. Probably cleaner using /* */ https://gerrit.osmocom.org/#/c/15685/3/Transceiver52M/device/xtrx/XTRXDevice.cpp at 459 PS3, Line 459: Remove extra whitespace at the end. https://gerrit.osmocom.org/#/c/15685/3/contrib/systemd/Makefile.am File contrib/systemd/Makefile.am: https://gerrit.osmocom.org/#/c/15685/3/contrib/systemd/Makefile.am at 4 PS3, Line 4: osmo-trx-usrp1.service You miss adding osmo-trx-xtrx.service here. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 3 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 11:51:40 +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 Oct 9 11:54:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:54:02 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15718 ) Change subject: gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib040befc87b2676aad2b8fe3671404fb3f5b030b Gerrit-Change-Number: 15718 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: lynxis lazus Gerrit-Comment-Date: Wed, 09 Oct 2019 11: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 Wed Oct 9 11:57:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 11:57:37 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log TRXC and TRXD socket recv()/send() failures In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15702 ) Change subject: bts-trx: Log TRXC and TRXD socket recv()/send() failures ...................................................................... bts-trx: Log TRXC and TRXD socket recv()/send() failures Related: OS#4215 Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a --- M src/osmo-bts-trx/trx_if.c 1 file changed, 23 insertions(+), 5 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/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 9933109..1b8ea45 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -94,14 +94,18 @@ struct phy_link *plink = ofd->data; struct phy_instance *pinst = phy_instance_by_num(plink, 0); char buf[1500]; - int len; + ssize_t len; uint32_t fn; OSMO_ASSERT(pinst); len = recv(ofd->fd, buf, sizeof(buf) - 1, 0); - if (len <= 0) + if (len <= 0) { + strerror_r(errno, (char *)buf, sizeof(buf)); + LOGPPHI(pinst, DTRX, LOGL_ERROR, + "recv() failed on TRXD with rc=%zd (%s)\n", len, buf); return len; + } buf[len] = '\0'; if (!!strncmp(buf, "IND CLOCK ", 10)) { @@ -144,6 +148,7 @@ struct trx_ctrl_msg *tcm; char buf[1500]; int len; + ssize_t snd_len; /* get first command */ if (llist_empty(&l1h->trx_ctrl_list)) @@ -155,7 +160,12 @@ LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Sending control '%s'\n", buf); /* send command */ - send(l1h->trx_ofd_ctrl.fd, buf, len+1, 0); + snd_len = send(l1h->trx_ofd_ctrl.fd, buf, len+1, 0); + if (snd_len <= 0) { + strerror_r(errno, (char *)buf, sizeof(buf)); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "send() failed on TRXC with rc=%zd (%s)\n", snd_len, buf); + } /* start timer */ osmo_timer_schedule(&l1h->trx_ctrl_timer, 2, 0); @@ -979,8 +989,9 @@ buf_len = recv(ofd->fd, buf, sizeof(buf), 0); if (buf_len <= 0) { + strerror_r(errno, (char *)buf, sizeof(buf)); LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, - "recv() failed on TRXD with rc=%zd\n", buf_len); + "recv() failed on TRXD with rc=%zd (%s)\n", buf_len, buf); return buf_len; } @@ -1058,6 +1069,7 @@ 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) { + ssize_t snd_len; uint8_t hdr_ver = l1h->config.trxd_hdr_ver_use; uint8_t buf[TRX_DATA_MSG_MAX_LEN]; @@ -1094,7 +1106,13 @@ /* we must be sure that TRX is on */ if (trx_if_powered(l1h)) { - send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); + snd_len = send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); + if (snd_len <= 0) { + strerror_r(errno, (char *)buf, sizeof(buf)); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "send() failed on TRXD with rc=%zd (%s)\n", snd_len, buf); + return -2; + } } else LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Ignoring TX data, transceiver powered off.\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic3e41d82b43459495d45873d612a3bd349ac174a Gerrit-Change-Number: 15702 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 Wed Oct 9 12:00:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 12:00:59 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON 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-bts/+/15706 to look at the new patch set (#2). Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... bts-trx: Time out if no clock ind recvd after RSP POWERON Before this patch, if due to whatever reason the TRX started fine (RSP POWERON 0) and sockets were created but no CLOCK IND was ever received by the BTS, it wouldn't notice since the timerfd timeouts (bts_shutdown("no clock")) are only checked after the first CLOCK IND is sent by the TRX. As a result, the BTS would be kept on forever saying everything is fine but it would be sending no DL burst at all to the TRX (tested with a modfied osmo-trx dropping clock indication). With this patch, new APIs are added to indicate the scheduler_trx code the timeframes where clock ind are expected (between RSP POWERON 0 and RSP POWEROFF 0); if TRX sends clock indications out of that timeframe, BTs lower layers will drop them (controlled by "powered" bool). Hence, the scheduler_trx can now place a timeout (reusing same timerfd because its new use is exclusive in time with its other previous use) when it is told that CLOCK IND should start appearing, and if none arrives in considerable time, then the BTS can be shut down to notify the rest of the network. Related: OS#4215 Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 57 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/15706/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: ipse Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 12:18:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 12:18: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: 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 6: (1 comment) https://gerrit.osmocom.org/#/c/15560/6/src/vty/logging_vty.c File src/vty/logging_vty.c: https://gerrit.osmocom.org/#/c/15560/6/src/vty/logging_vty.c at 122 PS6, Line 122: > How about placing these two macros in a header file, and using them in gprs_bssgp_vty. [?] I'd prefer not having those defines end up in a header file and eventually being used as a public API. This is a useful in-place macro since 99% of all-ever osmo_log_target related functions are placed in this file. A few more are in logging.c which anyway acquire the lock in a different way. Then, other 2 users in libosmocore (and other libosmocore app users) mainly need to only protect the filter functions, and it's a low amount of them, so it's fine doing what this macro does here manually. -- 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: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 12:18:57 +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 Wed Oct 9 12:19:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 12:19:41 +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 6: (1 comment) https://gerrit.osmocom.org/#/c/15560/6/src/logging.c File src/logging.c: https://gerrit.osmocom.org/#/c/15560/6/src/logging.c at 1014 PS6, Line 1014: log_tgt_mutex_lock(); > Shouldn't this be log_tgt_mutex_unlock()? Thanks! you saved me/us a lot of debugging time in the future ;) -- 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: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 12:19:41 +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 Wed Oct 9 12:19:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 12:19:59 +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 lynxis lazus, daniel, neels, laforge, osmith, 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 (#7). 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, 709 insertions(+), 100 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15560/7 -- 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: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus 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 Oct 9 12:20:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 12:20:41 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15714 ) Change subject: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U ...................................................................... Patch Set 1: > Ok, I just realized there is no need to pass this one anymore. Actually, needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id69010ffa8c697e8c01bbb21509253c330f95343 Gerrit-Change-Number: 15714 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 12:20: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 Oct 9 12:38:21 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 12:38:21 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: osmith 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 7: 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: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 12:38: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 Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ISO7816-3 FSMs as osmo_fsm 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-ccid-firmware/+/15690 to look at the new patch set (#2). Change subject: ISO7816-3 FSMs as osmo_fsm ...................................................................... ISO7816-3 FSMs as osmo_fsm This implements ISO 7816-3 T=0 as three finite state machines using osmo_fsm. Change-Id: I0145b77e6165d36d33f18ef3a452f2c37913bd73 --- M ccid_common/ccid_device.h A ccid_common/iso7816_fsm.c A ccid_common/iso7816_fsm.h M ccid_host/Makefile M ccid_host/ccid_main_functionfs.c A ccid_host/logging.c A ccid_host/logging.h M sysmoOCTSIM/libosmo_emb.c M sysmoOCTSIM/logging.h 9 files changed, 1,318 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/90/15690/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15690 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: I0145b77e6165d36d33f18ef3a452f2c37913bd73 Gerrit-Change-Number: 15690 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 Wed Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: 'cuart' Card-UART abstraction + driver for simple serial reader 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-ccid-firmware/+/15691 to look at the new patch set (#2). Change subject: 'cuart' Card-UART abstraction + driver for simple serial reader ...................................................................... 'cuart' Card-UART abstraction + driver for simple serial reader Change-Id: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d --- A ccid_common/cuart.c A ccid_common/cuart.h M ccid_host/Makefile A ccid_host/cuart_driver_tty.c A ccid_host/cuart_test.c A ccid_host/utils_ringbuffer.c A ccid_host/utils_ringbuffer.h 7 files changed, 836 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/91/15691/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 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: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d Gerrit-Change-Number: 15691 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 Wed Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart_driver_tty: Work around linux kernel bug ignoring CREAD 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-ccid-firmware/+/15692 to look at the new patch set (#2). Change subject: cuart_driver_tty: Work around linux kernel bug ignoring CREAD ...................................................................... cuart_driver_tty: Work around linux kernel bug ignoring CREAD Almost all linux USB serial drivers are ignoring CREAD and hence cannot disable the receiver hardware, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 We therefore have to receive every byte we transmit before notifying the user of transmit completion. Change-Id: Id3cca29f78ee5469a1142aaa1ff754cc0427ec93 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c M ccid_host/cuart_test.c 4 files changed, 24 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/92/15692/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15692 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: Id3cca29f78ee5469a1142aaa1ff754cc0427ec93 Gerrit-Change-Number: 15692 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 Wed Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add .gitignore file 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-ccid-firmware/+/15693 to look at the new patch set (#2). Change subject: add .gitignore file ...................................................................... add .gitignore file Change-Id: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a --- A .gitignore 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/93/15693/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 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: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a Gerrit-Change-Number: 15693 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 Wed Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Make cuart_fsm_test work (ATR + TPDU) 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-ccid-firmware/+/15694 to look at the new patch set (#2). Change subject: Make cuart_fsm_test work (ATR + TPDU) ...................................................................... Make cuart_fsm_test work (ATR + TPDU) Change-Id: I5abfe18a414feac6d66f7e506865dd4cd5af73fe --- M ccid_host/Makefile A ccid_host/cuart_fsm_test.c 2 files changed, 126 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/94/15694/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15694 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: I5abfe18a414feac6d66f7e506865dd4cd5af73fe Gerrit-Change-Number: 15694 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 Wed Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty 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-ccid-firmware/+/15695 to look at the new patch set (#2). Change subject: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty ...................................................................... make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty This works up to the point that we're getting the ATR displayed in pcsc_scan Change-Id: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 --- A ccid_common/ccid_slot_fsm.c M ccid_host/Makefile M ccid_host/ccid_main_functionfs.c 3 files changed, 218 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/95/15695/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 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: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 Gerrit-Change-Number: 15695 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 Wed Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Remove last argument (we always have the receiver active) 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-ccid-firmware/+/15696 to look at the new patch set (#2). Change subject: card_uart_tx: Remove last argument (we always have the receiver active) ...................................................................... card_uart_tx: Remove last argument (we always have the receiver active) Change-Id: I8f82e9108d0eae86bbe4535403ccc680b7379a0e --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_common/iso7816_fsm.c M ccid_host/cuart_driver_tty.c M ccid_host/cuart_test.c 5 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/96/15696/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 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: I8f82e9108d0eae86bbe4535403ccc680b7379a0e Gerrit-Change-Number: 15696 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 Wed Oct 9 13:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:03:58 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Implement single-byte RX/TX 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-ccid-firmware/+/15697 to look at the new patch set (#2). Change subject: iso7816_fsm: Implement single-byte RX/TX ...................................................................... iso7816_fsm: Implement single-byte RX/TX Change-Id: I31fb127e1cb2fda0856658a6511089c3d9e31c2a --- M ccid_common/iso7816_fsm.c 1 file changed, 52 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/97/15697/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 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: I31fb127e1cb2fda0856658a6511089c3d9e31c2a Gerrit-Change-Number: 15697 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 Wed Oct 9 13:04:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:04:01 +0000 Subject: Change in ...osmo-ccid-firmware[master]: split ccid into common and host-only code Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15720 to review the following change. Change subject: split ccid into common and host-only code ...................................................................... split ccid into common and host-only code Change-Id: I175c4efdafedc1d8953d3fb03f2d622a7a74af3b --- D ccid/Makefile R ccid_common/ccid_device.c R ccid_common/ccid_device.h R ccid_common/ccid_proto.c R ccid_common/ccid_proto.h R ccid_host/CCID.patch A ccid_host/Makefile R ccid_host/README.linux-dummy_hcd-ffs R ccid_host/ccid_main_functionfs.c R ccid_host/ccid_slot_sim.c R ccid_host/ccid_slot_sim.h R ccid_host/create_ccid_gadget.sh R ccid_host/hub_create_gadget.sh R ccid_host/hub_main_functionfs.c R ccid_host/hub_remove_gadget.sh R ccid_host/remove_ccid_gadget.sh D sysmoOCTSIM/ccid A sysmoOCTSIM/ccid_common M sysmoOCTSIM/gcc/Makefile 19 files changed, 21 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/20/15720/1 diff --git a/ccid/Makefile b/ccid/Makefile deleted file mode 100644 index 0fadd22..0000000 --- a/ccid/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -CFLAGS=-Wall -g - -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 $^ - -clean: - rm ccid_functionfs *.o diff --git a/ccid/ccid_device.c b/ccid_common/ccid_device.c similarity index 100% rename from ccid/ccid_device.c rename to ccid_common/ccid_device.c diff --git a/ccid/ccid_device.h b/ccid_common/ccid_device.h similarity index 100% rename from ccid/ccid_device.h rename to ccid_common/ccid_device.h diff --git a/ccid/ccid_proto.c b/ccid_common/ccid_proto.c similarity index 100% rename from ccid/ccid_proto.c rename to ccid_common/ccid_proto.c diff --git a/ccid/ccid_proto.h b/ccid_common/ccid_proto.h similarity index 100% rename from ccid/ccid_proto.h rename to ccid_common/ccid_proto.h diff --git a/ccid/CCID.patch b/ccid_host/CCID.patch similarity index 100% rename from ccid/CCID.patch rename to ccid_host/CCID.patch diff --git a/ccid_host/Makefile b/ccid_host/Makefile new file mode 100644 index 0000000..b68bd9d --- /dev/null +++ b/ccid_host/Makefile @@ -0,0 +1,16 @@ +CFLAGS=-Wall -g -I../ccid_common -I. + +ccid_functionfs: ccid_main_functionfs.o \ + ccid_slot_sim.o \ + ../ccid_common/ccid_proto.o \ + ../ccid_common/ccid_device.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 $^ + +clean: + rm ccid_functionfs hub_functionfs *.o diff --git a/ccid/README.linux-dummy_hcd-ffs b/ccid_host/README.linux-dummy_hcd-ffs similarity index 100% rename from ccid/README.linux-dummy_hcd-ffs rename to ccid_host/README.linux-dummy_hcd-ffs diff --git a/ccid/ccid_main_functionfs.c b/ccid_host/ccid_main_functionfs.c similarity index 100% rename from ccid/ccid_main_functionfs.c rename to ccid_host/ccid_main_functionfs.c diff --git a/ccid/ccid_slot_sim.c b/ccid_host/ccid_slot_sim.c similarity index 100% rename from ccid/ccid_slot_sim.c rename to ccid_host/ccid_slot_sim.c diff --git a/ccid/ccid_slot_sim.h b/ccid_host/ccid_slot_sim.h similarity index 100% rename from ccid/ccid_slot_sim.h rename to ccid_host/ccid_slot_sim.h diff --git a/ccid/create_ccid_gadget.sh b/ccid_host/create_ccid_gadget.sh similarity index 100% rename from ccid/create_ccid_gadget.sh rename to ccid_host/create_ccid_gadget.sh diff --git a/ccid/hub_create_gadget.sh b/ccid_host/hub_create_gadget.sh similarity index 100% rename from ccid/hub_create_gadget.sh rename to ccid_host/hub_create_gadget.sh diff --git a/ccid/hub_main_functionfs.c b/ccid_host/hub_main_functionfs.c similarity index 100% rename from ccid/hub_main_functionfs.c rename to ccid_host/hub_main_functionfs.c diff --git a/ccid/hub_remove_gadget.sh b/ccid_host/hub_remove_gadget.sh similarity index 100% rename from ccid/hub_remove_gadget.sh rename to ccid_host/hub_remove_gadget.sh diff --git a/ccid/remove_ccid_gadget.sh b/ccid_host/remove_ccid_gadget.sh similarity index 100% rename from ccid/remove_ccid_gadget.sh rename to ccid_host/remove_ccid_gadget.sh diff --git a/sysmoOCTSIM/ccid b/sysmoOCTSIM/ccid deleted file mode 120000 index 207f210..0000000 --- a/sysmoOCTSIM/ccid +++ /dev/null @@ -1 +0,0 @@ -../ccid \ No newline at end of file diff --git a/sysmoOCTSIM/ccid_common b/sysmoOCTSIM/ccid_common new file mode 120000 index 0000000..db3fc02 --- /dev/null +++ b/sysmoOCTSIM/ccid_common @@ -0,0 +1 @@ +../ccid_common \ No newline at end of file diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 025e2dd..83b127f 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -4,7 +4,7 @@ SYSTEM_PREFIX:=/usr/local/arm-none-eabi EXTRA_LIBS=$(SYSTEM_PREFIX)/lib/libosmocore.a -EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid +EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid_common CROSS_COMPILE= arm-none-eabi- CFLAGS_CPU=-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 @@ -49,7 +49,7 @@ INC_DIRS = \ -I"../" \ -I"../CMSIS/Core/Include" \ - -I"../ccid" \ + -I"../ccid_common" \ -I"../config" \ -I"../dma_m2m" \ -I"../hal/include" \ @@ -81,8 +81,8 @@ # List the object files OBJS += \ atmel_start.o \ - ccid/ccid_proto.o \ - ccid/ccid_device.o \ + ccid_common/ccid_proto.o \ + ccid_common/ccid_device.o \ command.o \ dma_m2m/dma_memory.o \ driver_init.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15720 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: I175c4efdafedc1d8953d3fb03f2d622a7a74af3b Gerrit-Change-Number: 15720 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 13:04:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:04:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15721 Change subject: ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) ...................................................................... ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) Change-Id: Ie4e1fa64b707d86a20582b1b88612e5d268db558 --- M ccid_host/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/21/15721/1 diff --git a/ccid_host/Makefile b/ccid_host/Makefile index b68bd9d..53ee932 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -13,4 +13,4 @@ $(CC) $(CFLAGS) -o $@ -c $^ clean: - rm ccid_functionfs hub_functionfs *.o + rm -f ccid_functionfs hub_functionfs *.o -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15721 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: Ie4e1fa64b707d86a20582b1b88612e5d268db558 Gerrit-Change-Number: 15721 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 Oct 9 13:04:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:04:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Also build host/gadget code Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 Change subject: contrib/jenkins.sh: Also build host/gadget code ...................................................................... contrib/jenkins.sh: Also build host/gadget code Change-Id: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 --- M contrib/jenkins.sh 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/22/15722/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 19bc222..104e229 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -38,3 +38,10 @@ make clean make SYSTEM_PREFIX="$inst" $PARALLEL_MAKE make clean + +echo +echo "=============== CCID usb_gadget build ===========" +cd $TOPDIR/ccid_host +make clean +make $PARALLEL_MAKE +make clean -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 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: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 Gerrit-Change-Number: 15722 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 Oct 9 13:04:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:04:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: Add card_uart driver for ASF4 USART Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15723 Change subject: WIP: Add card_uart driver for ASF4 USART ...................................................................... WIP: Add card_uart driver for ASF4 USART Change-Id: I9a141e9d2125fbfc992ad51aa4b11a39ee186607 --- M ccid_common/ccid_slot_fsm.c M ccid_common/cuart.h A sysmoOCTSIM/cuart_driver_asf4_usart_async.c 3 files changed, 252 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/23/15723/1 diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 06c14f1..76279ec 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -30,12 +30,18 @@ static struct iso_fsm_slot_instance g_si; -struct iso_fsm_slot *ccid_slot2iso_fsm_slot(struct ccid_slot *cs) +static struct iso_fsm_slot *ccid_slot2iso_fsm_slot(struct ccid_slot *cs) { OSMO_ASSERT(cs->slot_nr < ARRAY_SIZE(g_si.slot)); return &g_si.slot[cs->slot_nr]; } +struct card_uart *cuart4slot_nr(uint8_t slot_nr) +{ + OSMO_ASSERT(slot_nr < ARRAY_SIZE(g_si.slot)); + return g_si.slot[slot_nr].cuart; +} + static const uint8_t sysmousim_sjs1_atr[] = { 0x3B, 0x9F, 0x96, 0x80, 0x1F, 0xC7, 0x80, 0x31, 0xA0, 0x73, 0xBE, 0x21, 0x13, 0x67, 0x43, 0x20, diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index 790c277..cadd65f 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -6,6 +6,8 @@ #include #include "utils_ringbuffer.h" +struct usart_async_descriptor; + enum card_uart_event { /* a single byte was received, it's present at the (uint8_t *) data location */ CUART_E_RX_SINGLE, @@ -83,6 +85,10 @@ struct osmo_fd ofd; unsigned int baudrate; } tty; + struct { + struct usart_async_descriptor *usa_pd; + uint8_t slot_nr; + } asf4; } u; }; diff --git a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c new file mode 100644 index 0000000..299a2df --- /dev/null +++ b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c @@ -0,0 +1,239 @@ +/* Card (ICC) UART driver for the Atmel ASF4 asynchronous USART */ + +#include + +#include +#include + +#include +#include +#include "driver_init.h" + +#include "ncn8025.h" + +#include "cuart.h" + +static struct usart_async_descriptor* SIM_peripheral_descriptors[] = {&SIM0, &SIM1, &SIM2, &SIM3, &SIM4, &SIM5, &SIM6, NULL}; + +extern struct card_uart *cuart4slot_nr(uint8_t slot_nr); + +/*********************************************************************** + * low-level helper routines + ***********************************************************************/ + +static void _SIM_rx_cb(const struct usart_async_descriptor *const io_descr, uint8_t slot_nr) +{ + struct card_uart *cuart = cuart4slot_nr(slot_nr); + int rc; + OSMO_ASSERT(cuart); + + if (cuart->rx_threshold == 1) { + /* bypass ringbuffer and report byte directly */ + uint8_t rx[1]; + rc = io_read((struct io_descriptor * const)&io_descr->io, rx, sizeof(rx)); + OSMO_ASSERT(rc == sizeof(rx)); + card_uart_notification(cuart, CUART_E_RX_SINGLE, rx); + } else { + /* go via ringbuffer and notify only after threshold */ + if (ringbuffer_num(&io_descr->rx) >= cuart->rx_threshold) + card_uart_notification(cuart, CUART_E_RX_COMPLETE, NULL); + } +} + +static void _SIM_tx_cb(const struct usart_async_descriptor *const io_descr, uint8_t slot_nr) +{ + struct card_uart *cuart = cuart4slot_nr(slot_nr); + OSMO_ASSERT(cuart); + card_uart_notification(cuart, CUART_E_TX_COMPLETE, io_descr->tx_buffer); +} + + +/* the below ugli-ness is required as the usart_async_descriptor doesn't have + * some kind of 'private' member that could provide the call-back anty kind of + * context */ +static void SIM0_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 0); +} +static void SIM1_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 1); +} +static void SIM2_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 2); +} +static void SIM3_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 3); +} +static void SIM4_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 4); +} +static void SIM5_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 5); +} +static void SIM6_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 6); +} +static void SIM7_rx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_rx_cb(io_descr, 7); +} +static usart_cb_t SIM_rx_cb[8] = { + SIM0_rx_cb, SIM1_rx_cb, SIM2_rx_cb, SIM3_rx_cb, + SIM4_rx_cb, SIM5_rx_cb, SIM6_rx_cb, SIM7_rx_cb, +}; +static void SIM0_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 0); +} +static void SIM1_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 1); +} +static void SIM2_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 2); +} +static void SIM3_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 3); +} +static void SIM4_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 4); +} +static void SIM5_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 5); +} +static void SIM6_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 6); +} +static void SIM7_tx_cb(const struct usart_async_descriptor *const io_descr) +{ + _SIM_tx_cb(io_descr, 7); +} +static usart_cb_t SIM_tx_cb[8] = { + SIM0_tx_cb, SIM1_tx_cb, SIM2_tx_cb, SIM3_tx_cb, + SIM4_tx_cb, SIM5_tx_cb, SIM6_tx_cb, SIM7_tx_cb, +}; + +/*********************************************************************** + * Interface with card_uart (cuart) core + ***********************************************************************/ + +/* forward-declaration */ +static struct card_uart_driver asf4_usart_driver; +static int asf4_usart_close(struct card_uart *cuart); + +static int asf4_usart_open(struct card_uart *cuart, const char *device_name) +{ + struct usart_async_descriptor *usa_pd; + int slot_nr = atoi(device_name); + + if (slot_nr >= ARRAY_SIZE(SIM_peripheral_descriptors)) + return -ENODEV; + usa_pd = SIM_peripheral_descriptors[slot_nr]; + if (!usa_pd) + return -ENODEV; + + cuart->u.asf4.usa_pd = usa_pd; + cuart->u.asf4.slot_nr = slot_nr; + + usart_async_register_callback(usa_pd, USART_ASYNC_RXC_CB, SIM_rx_cb[slot_nr]); + usart_async_register_callback(usa_pd, USART_ASYNC_TXC_CB, SIM_tx_cb[slot_nr]); + usart_async_enable(usa_pd); + + return 0; +} + +static int asf4_usart_close(struct card_uart *cuart) +{ + struct usart_async_descriptor *usa_pd = cuart->u.asf4.usa_pd; + + OSMO_ASSERT(cuart->driver == &asf4_usart_driver); + + usart_async_disable(usa_pd); + + return 0; +} + +static int asf4_usart_async_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after) +{ + struct usart_async_descriptor *usa_pd = cuart->u.asf4.usa_pd; + int rc; + + OSMO_ASSERT(cuart->driver == &asf4_usart_driver); + OSMO_ASSERT(usart_async_is_tx_empty(usa_pd)); + + rc = io_write(&usa_pd->io, data, len); + if (rc < 0) + return rc; + + cuart->tx_busy = true; + + return rc; +} + +static int asf4_usart_async_rx(struct card_uart *cuart, uint8_t *data, size_t len) +{ + struct usart_async_descriptor *usa_pd = cuart->u.asf4.usa_pd; + + OSMO_ASSERT(cuart->driver == &asf4_usart_driver); + + return io_read(&usa_pd->io, data, len); +} + +static int asf4_usart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +{ + struct ncn8025_settings settings; + Sercom *sercom = cuart->u.asf4.usa_pd->device.hw; + + switch (ctl) { + case CUART_CTL_RX: + if (enable) + sercom->USART.CTRLB.bit.RXEN = 1; + else + sercom->USART.CTRLB.bit.RXEN = 0; + break; + case CUART_CTL_RST: + ncn8025_get(cuart->u.asf4.slot_nr, &settings); + settings.rstin = enable; + ncn8025_set(cuart->u.asf4.slot_nr, &settings); + break; + case CUART_CTL_POWER: + ncn8025_get(cuart->u.asf4.slot_nr, &settings); + settings.cmdvcc = enable; + ncn8025_set(cuart->u.asf4.slot_nr, &settings); + break; + case CUART_CTL_CLOCK: + /* FIXME */ + default: + return -EINVAL; + } + return 0; +} + +static const struct card_uart_ops asf4_usart_ops = { + .open = asf4_usart_open, + .close = asf4_usart_close, + .async_tx = asf4_usart_async_tx, + .async_rx = asf4_usart_async_rx, + .ctrl = asf4_usart_ctrl, +}; + +static struct card_uart_driver asf4_usart_driver = { + .name = "asf4", + .ops = &asf4_usart_ops, +}; + +static __attribute__((constructor)) void on_dso_load_cuart_asf4(void) +{ + card_uart_driver_register(&asf4_usart_driver); +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15723 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: I9a141e9d2125fbfc992ad51aa4b11a39ee186607 Gerrit-Change-Number: 15723 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 Oct 9 13:04:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:04:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: attempt to use iso7816_fsm + Cuart from firmware Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15724 Change subject: WIP: attempt to use iso7816_fsm + Cuart from firmware ...................................................................... WIP: attempt to use iso7816_fsm + Cuart from firmware Change-Id: I1d7c9371406ecfadc565fdf047dd935eceeee48f --- M ccid_host/ccid_slot_sim.c M sysmoOCTSIM/gcc/Makefile 2 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/24/15724/1 diff --git a/ccid_host/ccid_slot_sim.c b/ccid_host/ccid_slot_sim.c index 1bd514a..dc33114 100644 --- a/ccid_host/ccid_slot_sim.c +++ b/ccid_host/ccid_slot_sim.c @@ -100,9 +100,10 @@ { if (enable) { cs->icc_powered = true; - /* FIXME: What to do about ATR? */ + cs->icc_in_reset = false; } else { cs->icc_powered = false; + cs->icc_in_reset = true; } } diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 83b127f..a989d0c 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -83,6 +83,10 @@ atmel_start.o \ ccid_common/ccid_proto.o \ ccid_common/ccid_device.o \ + ccid_common/iso7816_fsm.o \ + ccid_common/cuart.o \ + ccid_common/ccid_slot_fsm.o \ + cuart_driver_asf4_usart_async.o \ command.o \ dma_m2m/dma_memory.o \ driver_init.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15724 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: I1d7c9371406ecfadc565fdf047dd935eceeee48f Gerrit-Change-Number: 15724 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 Oct 9 13:15:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:15:13 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Also build host/gadget 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-ccid-firmware/+/15722 to look at the new patch set (#2). Change subject: contrib/jenkins.sh: Also build host/gadget code ...................................................................... contrib/jenkins.sh: Also build host/gadget code Change-Id: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 --- M contrib/jenkins.sh 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/22/15722/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 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: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 Gerrit-Change-Number: 15722 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 Wed Oct 9 13:22:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:22:40 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Also build host/gadget 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-ccid-firmware/+/15722 to look at the new patch set (#3). Change subject: contrib/jenkins.sh: Also build host/gadget code ...................................................................... contrib/jenkins.sh: Also build host/gadget code Change-Id: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 --- M ccid_host/Makefile M contrib/jenkins.sh 2 files changed, 16 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/22/15722/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 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: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 Gerrit-Change-Number: 15722 Gerrit-PatchSet: 3 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 Wed Oct 9 13:22:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:22:40 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add .gitignore file 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-ccid-firmware/+/15693 to look at the new patch set (#4). Change subject: add .gitignore file ...................................................................... add .gitignore file Change-Id: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a --- A .gitignore M ccid_host/Makefile A ccid_host/cuart_fsm_test.c 3 files changed, 130 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/93/15693/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 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: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a Gerrit-Change-Number: 15693 Gerrit-PatchSet: 4 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 Wed Oct 9 13:31:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:31:29 +0000 Subject: Change in ...osmo-ccid-firmware[master]: split ccid into common and host-only code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15720 ) Change subject: split ccid into common and host-only code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15720 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: I175c4efdafedc1d8953d3fb03f2d622a7a74af3b Gerrit-Change-Number: 15720 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 13: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 Wed Oct 9 13:31:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:31:32 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15721 ) Change subject: ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15721 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: Ie4e1fa64b707d86a20582b1b88612e5d268db558 Gerrit-Change-Number: 15721 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 13:31: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 Oct 9 13:31:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:31:33 +0000 Subject: Change in ...osmo-ccid-firmware[master]: split ccid into common and host-only code In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15720 ) Change subject: split ccid into common and host-only code ...................................................................... split ccid into common and host-only code Change-Id: I175c4efdafedc1d8953d3fb03f2d622a7a74af3b --- D ccid/Makefile R ccid_common/ccid_device.c R ccid_common/ccid_device.h R ccid_common/ccid_proto.c R ccid_common/ccid_proto.h R ccid_host/CCID.patch A ccid_host/Makefile R ccid_host/README.linux-dummy_hcd-ffs R ccid_host/ccid_main_functionfs.c R ccid_host/ccid_slot_sim.c R ccid_host/ccid_slot_sim.h R ccid_host/create_ccid_gadget.sh R ccid_host/hub_create_gadget.sh R ccid_host/hub_main_functionfs.c R ccid_host/hub_remove_gadget.sh R ccid_host/remove_ccid_gadget.sh D sysmoOCTSIM/ccid A sysmoOCTSIM/ccid_common M sysmoOCTSIM/gcc/Makefile 19 files changed, 21 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid/Makefile b/ccid/Makefile deleted file mode 100644 index 0fadd22..0000000 --- a/ccid/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -CFLAGS=-Wall -g - -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 $^ - -clean: - rm ccid_functionfs *.o diff --git a/ccid/ccid_device.c b/ccid_common/ccid_device.c similarity index 100% rename from ccid/ccid_device.c rename to ccid_common/ccid_device.c diff --git a/ccid/ccid_device.h b/ccid_common/ccid_device.h similarity index 100% rename from ccid/ccid_device.h rename to ccid_common/ccid_device.h diff --git a/ccid/ccid_proto.c b/ccid_common/ccid_proto.c similarity index 100% rename from ccid/ccid_proto.c rename to ccid_common/ccid_proto.c diff --git a/ccid/ccid_proto.h b/ccid_common/ccid_proto.h similarity index 100% rename from ccid/ccid_proto.h rename to ccid_common/ccid_proto.h diff --git a/ccid/CCID.patch b/ccid_host/CCID.patch similarity index 100% rename from ccid/CCID.patch rename to ccid_host/CCID.patch diff --git a/ccid_host/Makefile b/ccid_host/Makefile new file mode 100644 index 0000000..b68bd9d --- /dev/null +++ b/ccid_host/Makefile @@ -0,0 +1,16 @@ +CFLAGS=-Wall -g -I../ccid_common -I. + +ccid_functionfs: ccid_main_functionfs.o \ + ccid_slot_sim.o \ + ../ccid_common/ccid_proto.o \ + ../ccid_common/ccid_device.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 $^ + +clean: + rm ccid_functionfs hub_functionfs *.o diff --git a/ccid/README.linux-dummy_hcd-ffs b/ccid_host/README.linux-dummy_hcd-ffs similarity index 100% rename from ccid/README.linux-dummy_hcd-ffs rename to ccid_host/README.linux-dummy_hcd-ffs diff --git a/ccid/ccid_main_functionfs.c b/ccid_host/ccid_main_functionfs.c similarity index 100% rename from ccid/ccid_main_functionfs.c rename to ccid_host/ccid_main_functionfs.c diff --git a/ccid/ccid_slot_sim.c b/ccid_host/ccid_slot_sim.c similarity index 100% rename from ccid/ccid_slot_sim.c rename to ccid_host/ccid_slot_sim.c diff --git a/ccid/ccid_slot_sim.h b/ccid_host/ccid_slot_sim.h similarity index 100% rename from ccid/ccid_slot_sim.h rename to ccid_host/ccid_slot_sim.h diff --git a/ccid/create_ccid_gadget.sh b/ccid_host/create_ccid_gadget.sh similarity index 100% rename from ccid/create_ccid_gadget.sh rename to ccid_host/create_ccid_gadget.sh diff --git a/ccid/hub_create_gadget.sh b/ccid_host/hub_create_gadget.sh similarity index 100% rename from ccid/hub_create_gadget.sh rename to ccid_host/hub_create_gadget.sh diff --git a/ccid/hub_main_functionfs.c b/ccid_host/hub_main_functionfs.c similarity index 100% rename from ccid/hub_main_functionfs.c rename to ccid_host/hub_main_functionfs.c diff --git a/ccid/hub_remove_gadget.sh b/ccid_host/hub_remove_gadget.sh similarity index 100% rename from ccid/hub_remove_gadget.sh rename to ccid_host/hub_remove_gadget.sh diff --git a/ccid/remove_ccid_gadget.sh b/ccid_host/remove_ccid_gadget.sh similarity index 100% rename from ccid/remove_ccid_gadget.sh rename to ccid_host/remove_ccid_gadget.sh diff --git a/sysmoOCTSIM/ccid b/sysmoOCTSIM/ccid deleted file mode 120000 index 207f210..0000000 --- a/sysmoOCTSIM/ccid +++ /dev/null @@ -1 +0,0 @@ -../ccid \ No newline at end of file diff --git a/sysmoOCTSIM/ccid_common b/sysmoOCTSIM/ccid_common new file mode 120000 index 0000000..db3fc02 --- /dev/null +++ b/sysmoOCTSIM/ccid_common @@ -0,0 +1 @@ +../ccid_common \ No newline at end of file diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 025e2dd..83b127f 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -4,7 +4,7 @@ SYSTEM_PREFIX:=/usr/local/arm-none-eabi EXTRA_LIBS=$(SYSTEM_PREFIX)/lib/libosmocore.a -EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid +EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid_common CROSS_COMPILE= arm-none-eabi- CFLAGS_CPU=-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 @@ -49,7 +49,7 @@ INC_DIRS = \ -I"../" \ -I"../CMSIS/Core/Include" \ - -I"../ccid" \ + -I"../ccid_common" \ -I"../config" \ -I"../dma_m2m" \ -I"../hal/include" \ @@ -81,8 +81,8 @@ # List the object files OBJS += \ atmel_start.o \ - ccid/ccid_proto.o \ - ccid/ccid_device.o \ + ccid_common/ccid_proto.o \ + ccid_common/ccid_device.o \ command.o \ dma_m2m/dma_memory.o \ driver_init.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15720 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: I175c4efdafedc1d8953d3fb03f2d622a7a74af3b Gerrit-Change-Number: 15720 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen 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 Wed Oct 9 13:31:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 13:31:34 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15721 ) Change subject: ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) ...................................................................... ccid_host/Makefile: Ensure 'make clean' succeeds (rm -f) Change-Id: Ie4e1fa64b707d86a20582b1b88612e5d268db558 --- M ccid_host/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_host/Makefile b/ccid_host/Makefile index b68bd9d..53ee932 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -13,4 +13,4 @@ $(CC) $(CFLAGS) -o $@ -c $^ clean: - rm ccid_functionfs hub_functionfs *.o + rm -f ccid_functionfs hub_functionfs *.o -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15721 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: Ie4e1fa64b707d86a20582b1b88612e5d268db558 Gerrit-Change-Number: 15721 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 Wed Oct 9 13:32:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 13:32:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 ) Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/#/c/15681/4/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15681/4/pcu/PCU_Tests_RAW.ttcn at 619 PS4, Line 619: Paging Request > After all, what is the message we expect? Paging Request or Immediate Assignment? It's an Immediate Assignment. While doing other stuff I came around the PCU_IF_MSG_DATA_CNF msg type, which means we probably need to send it back here, see osmo-pcu.git pcu_rx_data_cnf(). That message is sent by osmo-bts.git pcu_tx_pch_data_cnf() during paging_gen_msg(). https://gerrit.osmocom.org/#/c/15681/4/pcu/PCU_Tests_RAW.ttcn at 1111 PS4, Line 1111: f_sleep(int2float(info_ind.t3169) + 1.0); > Most likely, you don't need this because OsmoPCU is restarted across the test case executions. Good point. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 09 Oct 2019 13:32:19 +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 Wed Oct 9 13:38:10 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 13:38:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: gitignore: add *.netcat.stderr Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15725 Change subject: gitignore: add *.netcat.stderr ...................................................................... gitignore: add *.netcat.stderr Change-Id: I0119153aa0a7f035f067c5a8607f8f1930b9fc1c --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/15725/1 diff --git a/.gitignore b/.gitignore index 519dc48..41add91 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ !bin/Makefile !deps/Makefile .*.sw? +*.netcat.stderr -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0119153aa0a7f035f067c5a8607f8f1930b9fc1c Gerrit-Change-Number: 15725 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 Oct 9 14:03:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 14:03:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: gitignore: add *.netcat.stderr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15725 ) Change subject: gitignore: add *.netcat.stderr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0119153aa0a7f035f067c5a8607f8f1930b9fc1c Gerrit-Change-Number: 15725 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 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 Wed Oct 9 14:11:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 14:11:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 to look at the new patch set (#5). Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... pcu: Introduce test TC_mo_ping_pong Ideally some more checks should be done on this test at the end, but it's fine keeping it as it is for now and can be extended later. Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/15681/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Oct 9 14:11:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 14:11:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 to look at the new patch set (#6). Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... pcu: Introduce test TC_mo_ping_pong Ideally some more checks should be done on this test at the end, but it's fine keeping it as it is for now and can be extended later. Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 89 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/15681/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Oct 9 14:12:19 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 14:12:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: gitignore: add *.netcat.stderr In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15725 ) Change subject: gitignore: add *.netcat.stderr ...................................................................... gitignore: add *.netcat.stderr Change-Id: I0119153aa0a7f035f067c5a8607f8f1930b9fc1c --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 519dc48..41add91 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ !bin/Makefile !deps/Makefile .*.sw? +*.netcat.stderr -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0119153aa0a7f035f067c5a8607f8f1930b9fc1c Gerrit-Change-Number: 15725 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 Oct 9 14:44:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 14:44:36 +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 (#5). 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 Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 --- M src/common/logging.c M src/common/vty.c 2 files changed, 70 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/50/15550/5 -- 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: 5 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 Oct 9 14:45:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 14:45:55 +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 7: This change is ready for review. -- 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: 7 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, 09 Oct 2019 14: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 Wed Oct 9 15:02:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:02:09 +0000 Subject: Change in ...osmo-pcu[master]: VTY: refactor pcu_vty_show_ms_all(): use show_ms() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15726 Change subject: VTY: refactor pcu_vty_show_ms_all(): use show_ms() ...................................................................... VTY: refactor pcu_vty_show_ms_all(): use show_ms() Change-Id: I72aa1a1de22602a3ad2a4d19604ae0935c88c750 --- M src/pcu_vty_functions.cpp 1 file changed, 11 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/15726/1 diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 3008267..fd8474b 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -124,30 +124,6 @@ return CMD_SUCCESS; } -int pcu_vty_show_ms_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data) -{ - BTS *bts = bts_data->bts; - LListHead *ms_iter; - - llist_for_each(ms_iter, &bts->ms_store().ms_list()) { - GprsMs *ms = ms_iter->entry(); - - vty_out(vty, "MS TLLI=%08x, TA=%d, CS-UL=%s, CS-DL=%s, LLC=%zd, Cl=%d, E-Cl=%d," - " TBF-UL=%s, TBF-DL=%s, IMSI=%s%s", - ms->tlli(), - ms->ta(), mcs_name(ms->current_cs_ul()), - mcs_name(ms->current_cs_dl()), - ms->llc_queue()->size(), - ms->ms_class(), - ms->egprs_ms_class(), - ms->ul_tbf() ? ms->ul_tbf()->state_name() : "NA", - ms->dl_tbf() ? ms->dl_tbf()->state_name() : "NA", - ms->imsi(), - VTY_NEWLINE); - } - return CMD_SUCCESS; -} - static int show_ms(struct vty *vty, GprsMs *ms) { unsigned i; @@ -230,6 +206,17 @@ return CMD_SUCCESS; } +int pcu_vty_show_ms_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data) +{ + BTS *bts = bts_data->bts; + LListHead *ms_iter; + + llist_for_each(ms_iter, &bts->ms_store().ms_list()) + show_ms(vty, ms_iter->entry()); + + return CMD_SUCCESS; +} + int pcu_vty_show_ms_by_tlli(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t tlli) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72aa1a1de22602a3ad2a4d19604ae0935c88c750 Gerrit-Change-Number: 15726 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 Oct 9 15:02:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:02:10 +0000 Subject: Change in ...osmo-pcu[master]: VTY: fix command 'show tbf all': properly filter TBFs Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15727 Change subject: VTY: fix command 'show tbf all': properly filter TBFs ...................................................................... VTY: fix command 'show tbf all': properly filter TBFs For a long time the VTY command to show all active TBFs was broken. The TBF filtering (by allocation origin) logic allows one to show TBFs allocated on CCCH, PACCH, or on both of them. In the latter case we have been checking whether a TBF was allocated on both logical channels at the same time. Let's fix this by passing a flag-mask instead of boolean arguments. To be able to use GPRS_RLCMAC_FLAG_* definitions from "tbf.h", let's exclude them from "#ifdef __cplusplus ... #endif" block. Change-Id: I1c9f401368af880a97d32905c4cce0da481ffc21 --- M src/pcu_vty.c M src/pcu_vty_functions.cpp M src/pcu_vty_functions.h M src/tbf.h 4 files changed, 22 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/15727/1 diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 23a42e7..996ce61 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -1165,13 +1165,14 @@ "TBFs allocated via PACCH\n") { struct gprs_rlcmac_bts *bts = bts_main_data(); - if (!strcmp(argv[0], "all")) - return pcu_vty_show_tbf_all(vty, bts, true, true); + uint32_t flags = UINT32_MAX; - if (!strcmp(argv[0], "ccch")) - return pcu_vty_show_tbf_all(vty, bts_main_data(), true, false); + if (argv[0][0] == 'c') + flags = (1 << GPRS_RLCMAC_FLAG_CCCH); + else if (argv[0][0] == 'p') + flags = (1 << GPRS_RLCMAC_FLAG_PACCH); - return pcu_vty_show_tbf_all(vty, bts_main_data(), false, true); + return pcu_vty_show_tbf_all(vty, bts, flags); } DEFUN(show_ms_all, diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index fd8474b..7b6c84f 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -45,17 +45,11 @@ #include "coding_scheme.h" } -static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf, bool show_ccch, bool show_pacch) +static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf) { gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - if (show_ccch && !(tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) - return; - - if (show_pacch && !(tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) - return; - vty_out(vty, "TBF: TFI=%d TLLI=0x%08x (%s) TA=%u DIR=%s IMSI=%s%s", tbf->tfi(), tbf->tlli(), tbf->is_tlli_valid() ? "valid" : "invalid", tbf->ta(), @@ -108,18 +102,22 @@ vty_out(vty, "%s%s", VTY_NEWLINE, VTY_NEWLINE); } -int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, bool show_ccch, bool show_pacch) +int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t flags) { BTS *bts = bts_data->bts; - LListHead *ms_iter; + LListHead *iter; vty_out(vty, "UL TBFs%s", VTY_NEWLINE); - llist_for_each(ms_iter, &bts->ul_tbfs()) - tbf_print_vty_info(vty, ms_iter->entry(), show_ccch, show_pacch); + llist_for_each(iter, &bts->ul_tbfs()) { + if (iter->entry()->state_flags & flags) + tbf_print_vty_info(vty, iter->entry()); + } vty_out(vty, "%sDL TBFs%s", VTY_NEWLINE, VTY_NEWLINE); - llist_for_each(ms_iter, &bts->dl_tbfs()) - tbf_print_vty_info(vty, ms_iter->entry(), show_ccch, show_pacch); + llist_for_each(iter, &bts->dl_tbfs()) { + if (iter->entry()->state_flags & flags) + tbf_print_vty_info(vty, iter->entry()); + } return CMD_SUCCESS; } diff --git a/src/pcu_vty_functions.h b/src/pcu_vty_functions.h index 3fef208..6fbc366 100644 --- a/src/pcu_vty_functions.h +++ b/src/pcu_vty_functions.h @@ -27,7 +27,7 @@ struct vty; struct gprs_rlcmac_bts; -int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, bool show_ccch, bool show_pacch); +int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t flags); int pcu_vty_show_ms_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data); int pcu_vty_show_ms_by_tlli(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t tlli); diff --git a/src/tbf.h b/src/tbf.h index fd65b20..9545385 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -38,6 +38,8 @@ class GprsMs; struct gprs_rlcmac_bts; +#endif + /* * TBF instance */ @@ -171,6 +173,8 @@ #define TBF_ASS_TYPE_SET(t, kind) do { t->ass_type_mod(kind, false, __FILE__, __LINE__); } while(0) #define TBF_ASS_TYPE_UNSET(t, kind) do { t->ass_type_mod(kind, true, __FILE__, __LINE__); } while(0) +#ifdef __cplusplus + struct gprs_rlcmac_tbf { gprs_rlcmac_tbf(BTS *bts_, gprs_rlcmac_tbf_direction dir); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c9f401368af880a97d32905c4cce0da481ffc21 Gerrit-Change-Number: 15727 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 Oct 9 15:03:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 9 Oct 2019 15:03:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter l1-sapi" In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 ) Change subject: bts: test for "logging filter l1-sapi" ...................................................................... Abandoned Unfortunately, this test does not work anymore with the updated code in https://gerrit.osmocom.org/c/osmo-bts/+/15539. f_pcu_data_req() does not cause the bts to set the log context anymore. To set the log context, we would need to have an uplink/downlink message received by/sent to the PHY. The testsuite uses osmo-bts-trx, which does not deal with sapi message types in the osmo-bts/src/osmo-bts-trx uplink related code (therefore the log context is not set; it would have worked with osmo-bts-sysmo, -octphy, -oc2g, -litecell). I have looked into causing osmo-bts to send a downlink message to L1CTL from the testsuite. A good way to do this seemed to send the S13 information via RSL, which would then get sent to the L1CTL via BCCH, which also appears in the log. But then I realized, that this only gets sent the first time and I did not find an easy way to reset the connection and make the test send the message again. Then I looked into using another L1CTL message, but for some reason the existing L1CTL tests like TC_deact_sacch are not working in my local setup, when running the testsuite outside of docker (and the way the docker images are structured, the test cycles are too long when first pushing the changes to the git server, then rebuilding the testsuite with a new docker image). So all in all it seems that I'm spending too much time on this :\ abandoning this test. -- 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: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 15:07:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:07:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 ) Change subject: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0 Gerrit-Change-Number: 15678 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 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 Wed Oct 9 15:07:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:07:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 ) Change subject: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I74252dfb929fcb32d07e8728d692674931fae727 Gerrit-Change-Number: 15679 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:07: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 Oct 9 15:23:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:23:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 ) Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... Patch Set 6: Code-Review+1 (1 comment) It seems to me that this case was implemented looking at the current behaviour of OsmoPCU, which may be incorrect (remember the situation with PTCCH/U, when everybody wrongly expected data blocks on it). Could you please add the spec. references where the process of Downlink TBF establishment is described? At least where they state that Immediate Assignment (assigning a Downlink TBF) shall be sent on PCH (and not on AGCH). The code itself looks good to me. https://gerrit.osmocom.org/#/c/15681/6/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15681/6/pcu/PCU_Tests_RAW.ttcn at 625 PS6, Line 625: data LOL, I just checked the source code of OsmoPCU, and, as it turns out, replying the whole payload from DATA.req is only needed to parse TLLI from it. Who ever thought it's a good idea... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:23:26 +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 Oct 9 15:24:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:24:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 ) Change subject: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling ...................................................................... PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling Both TDMA_EV_PTCCH_DL_BLOCK and TDMA_EV_PTCCH_UL_BURST events may happen together during the same TDMA frame (fn % 104 == 90). We shall not skip TDMA_EV_PTCCH_UL_BURST. Let's fix this. Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0 --- M pcu/PCUIF_RAW_Components.ttcn 1 file changed, 5 insertions(+), 4 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn index 7feeca2..465e398 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_RAW_Components.ttcn @@ -148,11 +148,12 @@ } 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 */ + /* 4/4 bursts of a PTCCH (Timing Advance Control) block on Downlink */ + if (fn104 == 90) { + CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_DL_BLOCK, fn)); + } + /* One Access Burst on PTCCH/U (goes 3 time-slots after PTCCH/D) */ CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_UL_BURST, fn)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0 Gerrit-Change-Number: 15678 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 Oct 9 15:24:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:24:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 ) Change subject: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() ...................................................................... PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch() As it turns out, it was a bad idea to use a counter in altstep as_ta_ptcch(), because its value is getting lost. Let's instead introduce a new type PTCCH_TAI_ToA_MAP, which is basically a list of ToA values for each PTCCH/U sub-slot (TA Index), and pass it to the altstep. Change-Id: I74252dfb929fcb32d07e8728d692674931fae727 --- M pcu/PCUIF_RAW_Components.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 65 insertions(+), 11 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn index 465e398..ab8b3b7 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_RAW_Components.ttcn @@ -133,6 +133,37 @@ var integer fn := 0; } +/* Derive PTCCH/U sub-slot from a given TDMA frame-number */ +function f_tdma_ptcch_fn2ss(integer fn) return integer +{ + var integer ss := -1; + + /* See 3GPP TS 45.002, table 6 */ + select (fn mod 416) { + case (12) { ss := 0; } + case (38) { ss := 1; } + case (64) { ss := 2; } + case (90) { ss := 3; } + + case (116) { ss := 4; } + case (142) { ss := 5; } + case (168) { ss := 6; } + case (194) { ss := 7; } + + case (220) { ss := 8; } + case (246) { ss := 9; } + case (272) { ss := 10; } + case (298) { ss := 11; } + + case (324) { ss := 12; } + case (350) { ss := 13; } + case (376) { ss := 14; } + case (402) { ss := 15; } + } + + return ss; +} + function f_ClckGen_CT_handler() runs on RAW_PCU_ClckGen_CT { var integer fn104, fn52, fn13; diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 0771cf9..af1ef99 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -766,16 +766,33 @@ * indications to the PCU, checking the correctness of two received PTCCH/D * messages (period of PTCCH/D is two multi-frames). */ -private altstep as_ta_ptcch(uint8_t bts_nr := 0, integer toa_factor := 0) + +/* List of ToA values for Access Bursts to be sent on PTCCH/U, + * each ToA (Timing of Arrival) value is in units of 1/4 of + * a symbol (i.e. 1 symbol is 4 QTA units). */ +type record length(16) of int16_t PTCCH_TAI_ToA_MAP; +const PTCCH_TAI_ToA_MAP ptcch_toa_map_def := { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0 +}; + +private altstep as_ta_ptcch(uint8_t bts_nr := 0, /* TODO: TRX / TS number */ + in PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def) runs on RAW_PCU_Test_CT { - var integer counter := 0; var RAW_PCU_Event event; + var integer ss; /* Send Access Bursts on PTCCH/U for every TA Index */ [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); + if (ss < 0) { mtc.stop; } /* Shall not happen */ + log("Sending an Access Burst on PTCCH/U", + ", sub-slot=", ss, " (TAI)", ", fn=", event.data.tdma_fn, - ", ToA=", counter * toa_factor); + ", ToA=", toa_map[ss], " (QTA)"); /* TODO: do we care about RA and burst format? */ BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, ra := oct2int('3A'O), @@ -783,14 +800,14 @@ burst_type := BURST_TYPE_0, fn := event.data.tdma_fn, arfcn := 871, - qta := counter * toa_factor * 4, + qta := toa_map[ss], sapi := PCU_IF_SAPI_PTCCH)); - counter := counter + 1; repeat; } } -private function f_TC_ta_ptcch_ul_multi_tbf(template PTCCHDownlinkMsg t_ta_msg) +private function f_TC_ta_ptcch_ul_multi_tbf(in PTCCH_TAI_ToA_MAP ptcch_toa_map, + template PTCCHDownlinkMsg t_ta_msg) runs on RAW_PCU_Test_CT { var PTCCHDownlinkMsg ta_msg; var PCUIF_Message pcu_msg; @@ -804,7 +821,7 @@ alt { /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ - [] as_ta_ptcch(bts_nr := 0, toa_factor := 7); + [] as_ta_ptcch(bts_nr := 0, toa_map := ptcch_toa_map); /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { @@ -869,6 +886,13 @@ } } + /* Prepare a list of ToA values for Access Bursts to be sent on PTCCH/U */ + var PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def; + for (var integer i := 0; i < 7; i := i + 1) { + /* ToA in units of 1/4 of a symbol */ + toa_map[i] := (i + 1) * 7 * 4; + } + /* Now we have all 7 TBFs established in one-phase access mode, * however we will not be sending any data on them. Instead, we * will be sending RACH.ind on PTCCH/U during 4 multi-frame @@ -877,15 +901,14 @@ * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA * time-slots, so at the moment of scheduling a PTCCH/D block * the PCU has odd number of PTCCH/U Access Bursts received. */ - f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, /* Other values are not known (yet) */ tai3_ta := ?)); - f_TC_ta_ptcch_ul_multi_tbf(tr_PTCCHDownlinkMsg( - /* Other values are out of our interest */ + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, - /* Other values are not known (yet) */ + /* Other values are out of our interest */ tai6_ta := ?)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I74252dfb929fcb32d07e8728d692674931fae727 Gerrit-Change-Number: 15679 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 Oct 9 15:25:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:25:54 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15716 ) Change subject: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15716/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15716/1/src/common/l1sap.c at 1119 PS1, Line 1119: > Remove this whitespace line. Oh, right! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d Gerrit-Change-Number: 15716 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:25:54 +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 Oct 9 15:26:27 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:26:27 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them 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/+/15716 to look at the new patch set (#2). Change subject: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them ...................................................................... L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d --- M src/common/l1sap.c 1 file changed, 18 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/16/15716/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d Gerrit-Change-Number: 15716 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Wed Oct 9 15:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 15:29:31 +0000 Subject: Change in ...osmo-pcu[master]: VTY: fix command 'show tbf all': properly filter TBFs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15727 ) Change subject: VTY: fix command 'show tbf all': properly filter TBFs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c9f401368af880a97d32905c4cce0da481ffc21 Gerrit-Change-Number: 15727 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:29: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 Oct 9 15:30:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 15:30:32 +0000 Subject: Change in ...osmo-pcu[master]: VTY: refactor pcu_vty_show_ms_all(): use show_ms() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15726 ) Change subject: VTY: refactor pcu_vty_show_ms_all(): use show_ms() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72aa1a1de22602a3ad2a4d19604ae0935c88c750 Gerrit-Change-Number: 15726 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:30: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 Oct 9 15:32:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 15:32:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 ) Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... Patch Set 6: > Patch Set 6: Code-Review+1 > > (1 comment) > > It seems to me that this case was implemented looking at the current behaviour of OsmoPCU, which may be incorrect (remember the situation with PTCCH/U, when everybody wrongly expected data blocks on it). Could you please add the spec. references where the process of Downlink TBF establishment is described? At least where they state that Immediate Assignment (assigning a Downlink TBF) shall be sent on PCH (and not on AGCH). The code itself looks good to me. It was indeed done looking at the current behaviour of OsmoPCU. Whether it is correct behavior or not according to specs can be checked later, but at least we have some code to test current behavior of osmo-pcu in here which is useful for now, and I need to move onto other stuff now. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:32:51 +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 Oct 9 15:33:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 15:33:34 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15716 ) Change subject: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d Gerrit-Change-Number: 15716 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:33: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 Oct 9 15:58:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 15:58:33 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Also build host/gadget 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-ccid-firmware/+/15722 to look at the new patch set (#4). Change subject: contrib/jenkins.sh: Also build host/gadget code ...................................................................... contrib/jenkins.sh: Also build host/gadget code Change-Id: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 --- M ccid_host/Makefile M contrib/jenkins.sh 2 files changed, 19 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/22/15722/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 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: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 Gerrit-Change-Number: 15722 Gerrit-PatchSet: 4 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 Wed Oct 9 15:58:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 15:58:34 +0000 Subject: Change in ...osmo-ccid-firmware[master]: allow different prefixes, print memory usage Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15737 to review the following change. Change subject: allow different prefixes, print memory usage ...................................................................... allow different prefixes, print memory usage Change-Id: If34b5eba2992f8f9f75ea234b94467af46b028c6 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/37/15737/1 diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 83b127f..3d89b25 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -2,7 +2,7 @@ # Manually edited. Do not overwrite with Automatically-generated file. ################################################################################ -SYSTEM_PREFIX:=/usr/local/arm-none-eabi +SYSTEM_PREFIX?=/usr/local/arm-none-eabi EXTRA_LIBS=$(SYSTEM_PREFIX)/lib/libosmocore.a EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid_common CROSS_COMPILE= arm-none-eabi- @@ -161,7 +161,7 @@ @echo Building target: $@ @echo Invoking: ARM/GNU Linker $(CC) -o $(OUTPUT_FILE_NAME).elf $(OBJS) $(EXTRA_LIBS) -Wl,--start-group -lm -Wl,--end-group -mthumb \ --Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \ +-Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -Wl,--print-memory-usage -mcpu=cortex-m4 \ \ -T"../gcc/gcc/same54n19a_dfu.ld" \ -L"../gcc/gcc" -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15737 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: If34b5eba2992f8f9f75ea234b94467af46b028c6 Gerrit-Change-Number: 15737 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 15:58:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 15:58:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 ) Change subject: pcu: Introduce test TC_mo_ping_pong ...................................................................... Patch Set 6: -Code-Review > Whether it is correct behavior or not according to specs can be checked later [...] For sure, but merging a test case that verifies the observed behaviour of IUT, and not the expected (should be taken from the specs.) is not a good idea IMHO. I am pretty sure we would forget about this test case as soon as we see it passing in Jenkins. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3be5123ff5294e5851652ec14d54589442082b28 Gerrit-Change-Number: 15681 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 15:58: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 Oct 9 16:00:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:00:53 +0000 Subject: Change in ...osmo-ccid-firmware[master]: allow different prefixes, print memory usage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15737 ) Change subject: allow different prefixes, print memory usage ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15737 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: If34b5eba2992f8f9f75ea234b94467af46b028c6 Gerrit-Change-Number: 15737 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:00: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 Wed Oct 9 16:00:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:00:56 +0000 Subject: Change in ...osmo-ccid-firmware[master]: allow different prefixes, print memory usage In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15737 ) Change subject: allow different prefixes, print memory usage ...................................................................... allow different prefixes, print memory usage Change-Id: If34b5eba2992f8f9f75ea234b94467af46b028c6 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 83b127f..3d89b25 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -2,7 +2,7 @@ # Manually edited. Do not overwrite with Automatically-generated file. ################################################################################ -SYSTEM_PREFIX:=/usr/local/arm-none-eabi +SYSTEM_PREFIX?=/usr/local/arm-none-eabi EXTRA_LIBS=$(SYSTEM_PREFIX)/lib/libosmocore.a EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid_common CROSS_COMPILE= arm-none-eabi- @@ -161,7 +161,7 @@ @echo Building target: $@ @echo Invoking: ARM/GNU Linker $(CC) -o $(OUTPUT_FILE_NAME).elf $(OBJS) $(EXTRA_LIBS) -Wl,--start-group -lm -Wl,--end-group -mthumb \ --Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \ +-Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -Wl,--print-memory-usage -mcpu=cortex-m4 \ \ -T"../gcc/gcc/same54n19a_dfu.ld" \ -L"../gcc/gcc" -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15737 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: If34b5eba2992f8f9f75ea234b94467af46b028c6 Gerrit-Change-Number: 15737 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen 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 Wed Oct 9 16:01:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:01:01 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Also build host/gadget code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 ) Change subject: contrib/jenkins.sh: Also build host/gadget code ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 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: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 Gerrit-Change-Number: 15722 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:01: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 Oct 9 16:01:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:01:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Also build host/gadget code In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 ) Change subject: contrib/jenkins.sh: Also build host/gadget code ...................................................................... contrib/jenkins.sh: Also build host/gadget code Change-Id: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 --- M ccid_host/Makefile M contrib/jenkins.sh 2 files changed, 19 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_host/Makefile b/ccid_host/Makefile index 53ee932..c8862a2 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -1,13 +1,14 @@ -CFLAGS=-Wall -g -I../ccid_common -I. +CFLAGS=-Wall -g $(shell pkg-config --cflags libosmocore) -I../ccid_common -I. +LIBS?=-lasan $(shell pkg-config --libs libosmocore) ccid_functionfs: ccid_main_functionfs.o \ ccid_slot_sim.o \ ../ccid_common/ccid_proto.o \ ../ccid_common/ccid_device.o - $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio hub_functionfs: hub_main_functionfs.o - $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 19bc222..fb324cc 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -13,6 +13,21 @@ inst="$TOPDIR/install" export deps inst + +echo +echo "=============== libosmocore hostt build ===========" +osmo-build-dep.sh libosmocore "" --disable-doxygen +export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" +export LD_LIBRARY_PATH="$inst/lib" +export PATH="$inst/bin:$PATH" + +echo +echo "=============== CCID usb_gadget build ===========" +cd $TOPDIR/ccid_host +make clean +make $PARALLEL_MAKE +make clean + # adapted from echo echo "=============== libosmocore cross-build ===========" -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15722 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: Ided54d69a776ce2b86f4117a27fc7ad3b7a1a1d2 Gerrit-Change-Number: 15722 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 Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: 'cuart' Card-UART abstraction + driver for simple serial reader 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-ccid-firmware/+/15691 to look at the new patch set (#6). Change subject: 'cuart' Card-UART abstraction + driver for simple serial reader ...................................................................... 'cuart' Card-UART abstraction + driver for simple serial reader Change-Id: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d --- A ccid_common/cuart.c A ccid_common/cuart.h M ccid_host/Makefile A ccid_host/cuart_driver_tty.c A ccid_host/cuart_test.c A ccid_host/utils_ringbuffer.c A ccid_host/utils_ringbuffer.h 7 files changed, 836 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/91/15691/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 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: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d Gerrit-Change-Number: 15691 Gerrit-PatchSet: 6 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 Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty 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-ccid-firmware/+/15695 to look at the new patch set (#6). Change subject: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty ...................................................................... make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty This works up to the point that we're getting the ATR displayed in pcsc_scan Change-Id: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 --- A ccid_common/ccid_slot_fsm.c M ccid_host/Makefile M ccid_host/ccid_main_functionfs.c 3 files changed, 218 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/95/15695/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 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: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 Gerrit-Change-Number: 15695 Gerrit-PatchSet: 6 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 Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Remove last argument (we always have the receiver active) 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-ccid-firmware/+/15696 to look at the new patch set (#6). Change subject: card_uart_tx: Remove last argument (we always have the receiver active) ...................................................................... card_uart_tx: Remove last argument (we always have the receiver active) Change-Id: I8f82e9108d0eae86bbe4535403ccc680b7379a0e --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_common/iso7816_fsm.c M ccid_host/cuart_driver_tty.c M ccid_host/cuart_test.c 5 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/96/15696/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 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: I8f82e9108d0eae86bbe4535403ccc680b7379a0e Gerrit-Change-Number: 15696 Gerrit-PatchSet: 6 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 Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Implement single-byte RX/TX 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-ccid-firmware/+/15697 to look at the new patch set (#6). Change subject: iso7816_fsm: Implement single-byte RX/TX ...................................................................... iso7816_fsm: Implement single-byte RX/TX Change-Id: I31fb127e1cb2fda0856658a6511089c3d9e31c2a --- M ccid_common/iso7816_fsm.c 1 file changed, 52 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/97/15697/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 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: I31fb127e1cb2fda0856658a6511089c3d9e31c2a Gerrit-Change-Number: 15697 Gerrit-PatchSet: 6 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 Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: Add card_uart driver for ASF4 USART 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-ccid-firmware/+/15723 to look at the new patch set (#5). Change subject: WIP: Add card_uart driver for ASF4 USART ...................................................................... WIP: Add card_uart driver for ASF4 USART Change-Id: I9a141e9d2125fbfc992ad51aa4b11a39ee186607 --- M ccid_common/ccid_slot_fsm.c M ccid_common/cuart.h A sysmoOCTSIM/cuart_driver_asf4_usart_async.c 3 files changed, 252 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/23/15723/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15723 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: I9a141e9d2125fbfc992ad51aa4b11a39ee186607 Gerrit-Change-Number: 15723 Gerrit-PatchSet: 5 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 Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: attempt to use iso7816_fsm + Cuart from firmware 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-ccid-firmware/+/15724 to look at the new patch set (#5). Change subject: WIP: attempt to use iso7816_fsm + Cuart from firmware ...................................................................... WIP: attempt to use iso7816_fsm + Cuart from firmware Change-Id: I1d7c9371406ecfadc565fdf047dd935eceeee48f --- M ccid_host/ccid_slot_sim.c M sysmoOCTSIM/gcc/Makefile 2 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/24/15724/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15724 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: I1d7c9371406ecfadc565fdf047dd935eceeee48f Gerrit-Change-Number: 15724 Gerrit-PatchSet: 5 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 Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: SRAM linker script: shift start of RAM by 64kByte In-Reply-To: References: Message-ID: Hello Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 to look at the new patch set (#4). Change subject: SRAM linker script: shift start of RAM by 64kByte ...................................................................... SRAM linker script: shift start of RAM by 64kByte Change-Id: I69ed656ac7007c5b8aa08c18569a7da5fe6ef277 FIXME: Why? --- M sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/88/15688/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 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: I69ed656ac7007c5b8aa08c18569a7da5fe6ef277 Gerrit-Change-Number: 15688 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 16:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: change IRQ endpoint re-submit logic. In-Reply-To: References: Message-ID: Hello Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 to look at the new patch set (#4). Change subject: WIP: change IRQ endpoint re-submit logic. ...................................................................... WIP: change IRQ endpoint re-submit logic. Why? Change-Id: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed --- M sysmoOCTSIM/main.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/89/15689/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 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: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed Gerrit-Change-Number: 15689 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 9 16:10:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:10:35 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Add cuart_fsm_test program Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15738 Change subject: Add cuart_fsm_test program ...................................................................... Add cuart_fsm_test program Change-Id: I2b4be908b1bbd9b02f591a79b0eefaeae04badb8 --- M ccid_host/Makefile A ccid_host/cuart_fsm_test.c 2 files changed, 122 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/38/15738/1 diff --git a/ccid_host/Makefile b/ccid_host/Makefile index 8f75559..d7bc3be 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -1,7 +1,7 @@ CFLAGS=-Wall -g $(shell pkg-config --cflags libosmocore) -I../ccid_common -I. LIBS?=-lasan $(shell pkg-config --libs libosmocore) -all: ccid_functionfs hub_functionfs cuart_test +all: ccid_functionfs hub_functionfs cuart_test cuart_fsm_test ccid_functionfs: ccid_main_functionfs.o \ ccid_slot_sim.o \ @@ -19,8 +19,16 @@ ../ccid_common/cuart.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) +cuart_fsm_test: cuart_fsm_test.o \ + logging.o \ + cuart_driver_tty.o \ + utils_ringbuffer.o \ + ../ccid_common/iso7816_fsm.o \ + ../ccid_common/cuart.o + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(shell pkg-config --libs libosmosim) + %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ clean: - rm -f ccid_functionfs hub_functionfs cuart_test *.o + rm -f ccid_functionfs hub_functionfs cuart_test cuart_fsm_test *.o diff --git a/ccid_host/cuart_fsm_test.c b/ccid_host/cuart_fsm_test.c new file mode 100644 index 0000000..92f3437 --- /dev/null +++ b/ccid_host/cuart_fsm_test.c @@ -0,0 +1,112 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "logging.h" +#include "cuart.h" +#include "iso7816_fsm.h" + +static struct card_uart g_cuart; + +enum test_state { + ST_WAIT_ATR, + ST_ATR_DONE, + ST_IN_TPDU, +}; +static enum test_state g_tstate = ST_WAIT_ATR; + +static void fsm_user_cb(struct osmo_fsm_inst *fi, int event, int cause, void *data) +{ + printf("Handle FSM User Event %d: cause=%d, data=%p\n", event, cause, data); + switch (event) { + case ISO7816_E_ATR_DONE_IND: + g_tstate = ST_ATR_DONE; + break; + case ISO7816_E_TPDU_DONE_IND: + printf("======= TPDU: %s\n", msgb_hexdump(data)); + msgb_free(data); + g_tstate = ST_ATR_DONE; + default: + break; + } +} + +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 osmo_fsm_inst *fi; + uint8_t atr[64]; + int rc; + + tall_main_ctx = talloc_named_const(NULL, 0, "main"); + msgb_talloc_ctx_init(tall_main_ctx, 0); + osmo_init_logging2(tall_main_ctx, &log_info); + osmo_fsm_log_addr(false); + + signal(SIGUSR1, &signal_handler); + + rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + if (rc < 0) { + perror("opening UART"); + exit(1); + } + + fi = iso7816_fsm_alloc(NULL, LOGL_DEBUG, "SIM0", &g_cuart, fsm_user_cb, NULL); + OSMO_ASSERT(fi); + + /* activate reset, then power up */ + card_uart_ctrl(&g_cuart, CUART_CTL_RST, true); + card_uart_ctrl(&g_cuart, CUART_CTL_POWER, true); + osmo_fsm_inst_dispatch(fi, ISO7816_E_POWER_UP_IND, NULL); + + /* activate clock */ + card_uart_ctrl(&g_cuart, CUART_CTL_CLOCK, true); + + /* wait some time and release reset */ + usleep(10000); + card_uart_ctrl(&g_cuart, CUART_CTL_RST, false); + osmo_fsm_inst_dispatch(fi, ISO7816_E_RESET_REL_IND, NULL); + + /* process any events in polling mode for initial change */ + osmo_select_main(1); + + struct msgb *apdu; + while (1) { + /* check if the new state requires us to do something */ + switch (g_tstate) { + case ST_ATR_DONE: + apdu = msgb_alloc(512, "TPDU"); + msgb_put_u8(apdu, 0x00); + msgb_put_u8(apdu, 0xa4); + msgb_put_u8(apdu, 0x00); + msgb_put_u8(apdu, 0x04); + msgb_put_u8(apdu, 0x02); + msgb_put_u8(apdu, 0x2f); + msgb_put_u8(apdu, 0x00); + osmo_fsm_inst_dispatch(fi, ISO7816_E_XCEIVE_TPDU_CMD, apdu); + g_tstate = ST_IN_TPDU; + break; + default: + break; + } + osmo_select_main(0); + } + + exit(0); +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15738 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: I2b4be908b1bbd9b02f591a79b0eefaeae04badb8 Gerrit-Change-Number: 15738 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 Oct 9 16:35:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:35:40 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Implement single-byte RX/TX In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 ) Change subject: iso7816_fsm: Implement single-byte RX/TX ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 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: I31fb127e1cb2fda0856658a6511089c3d9e31c2a Gerrit-Change-Number: 15697 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16: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 Wed Oct 9 16:35:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:35:42 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Remove last argument (we always have the receiver active) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 ) Change subject: card_uart_tx: Remove last argument (we always have the receiver active) ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 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: I8f82e9108d0eae86bbe4535403ccc680b7379a0e Gerrit-Change-Number: 15696 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:35: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 Wed Oct 9 16:35:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:35:44 +0000 Subject: Change in ...osmo-ccid-firmware[master]: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 ) Change subject: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 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: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 Gerrit-Change-Number: 15695 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:35: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 Oct 9 16:35:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:35:45 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add .gitignore file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 ) Change subject: add .gitignore file ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 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: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a Gerrit-Change-Number: 15693 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:35: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 Oct 9 16:35:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:35:47 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Add cuart_fsm_test program In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15738 ) Change subject: Add cuart_fsm_test program ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15738 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: I2b4be908b1bbd9b02f591a79b0eefaeae04badb8 Gerrit-Change-Number: 15738 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:35: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 Oct 9 16:35:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:35:49 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart_driver_tty: Work around linux kernel bug ignoring CREAD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15692 ) Change subject: cuart_driver_tty: Work around linux kernel bug ignoring CREAD ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15692 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: Id3cca29f78ee5469a1142aaa1ff754cc0427ec93 Gerrit-Change-Number: 15692 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:35: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 Oct 9 16:35:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:35:51 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ISO7816-3 FSMs as osmo_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15690 ) Change subject: ISO7816-3 FSMs as osmo_fsm ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15690 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: I0145b77e6165d36d33f18ef3a452f2c37913bd73 Gerrit-Change-Number: 15690 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:35: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 Oct 9 16:36:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:06 +0000 Subject: Change in ...osmo-ccid-firmware[master]: 'cuart' Card-UART abstraction + driver for simple serial reader In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 ) Change subject: 'cuart' Card-UART abstraction + driver for simple serial reader ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 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: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d Gerrit-Change-Number: 15691 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16: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 Wed Oct 9 16:36:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:08 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ISO7816-3 FSMs as osmo_fsm In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15690 ) Change subject: ISO7816-3 FSMs as osmo_fsm ...................................................................... ISO7816-3 FSMs as osmo_fsm This implements ISO 7816-3 T=0 as three finite state machines using osmo_fsm. Change-Id: I0145b77e6165d36d33f18ef3a452f2c37913bd73 --- M ccid_common/ccid_device.h A ccid_common/iso7816_fsm.c A ccid_common/iso7816_fsm.h M ccid_host/Makefile M ccid_host/ccid_main_functionfs.c A ccid_host/logging.c A ccid_host/logging.h M sysmoOCTSIM/libosmo_emb.c M sysmoOCTSIM/logging.h 9 files changed, 1,318 insertions(+), 29 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/ccid_device.h b/ccid_common/ccid_device.h index afd4a7a..ae3ab5b 100644 --- a/ccid_common/ccid_device.h +++ b/ccid_common/ccid_device.h @@ -3,11 +3,7 @@ #include #include "ccid_proto.h" - -enum { - DCCID, - DUSB, -}; +#include "logging.h" #define NR_SLOTS 8 diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c new file mode 100644 index 0000000..f8fe14a --- /dev/null +++ b/ccid_common/iso7816_fsm.c @@ -0,0 +1,1178 @@ +/* ISO 7816-3 Finite State Machine (reader side) + * + * (C) 2019 by Harald Welte + * + * inspired by earlier work + * (C) 2016-2017 by Harald Welte + * (C) 2018 by sysmocom -s.f.m.c. GmbH, Author: Kevin Redon + * + * 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 +#include +#include + +#include "logging.h" +#include "cuart.h" +#include "iso7816_fsm.h" + +/* Section 8.2: the Answer-to-Reset (... a string of at most 32 bytes) */ +#define MAX_ATR_SIZE 32 + +#define S(x) (1 << (x)) + +/*! ISO 7816-3 states */ +enum iso7816_3_state { + ISO7816_S_RESET, /*!< in Reset */ + ISO7816_S_WAIT_ATR, /*!< waiting for ATR to start */ + ISO7816_S_IN_ATR, /*!< while we are receiving the ATR */ + ISO7816_S_WAIT_TPDU, /*!< waiting for start of new TPDU */ + ISO7816_S_IN_TPDU, /*!< inside a single TPDU */ + ISO7816_S_IN_PPS_REQ, /*!< while we are inside the PPS request */ + ISO7816_S_WAIT_PPS_RSP, /*!< waiting for start of the PPS response */ + ISO7816_S_IN_PPS_RSP, /*!< while we are inside the PPS request */ +}; + +/*! Answer-To-Reset (ATR) sub-states of ISO7816_S_IN_ATR + * @note defined in ISO/IEC 7816-3:2006(E) section 8 + */ +enum atr_state { + ATR_S_WAIT_TS, /*!< initial byte */ + ATR_S_WAIT_T0, /*!< format byte */ + ATR_S_WAIT_TA, /*!< first sub-group interface byte */ + ATR_S_WAIT_TB, /*!< second sub-group interface byte */ + ATR_S_WAIT_TC, /*!< third sub-group interface byte */ + ATR_S_WAIT_TD, /*!< fourth sub-group interface byte */ + ATR_S_WAIT_HIST, /*!< historical byte */ + ATR_S_WAIT_TCK, /*!< check byte */ + ATR_S_DONE +}; + +/*! Protocol and Parameters Selection (PPS) sub-states of ISO7816_S_IN_PTS_REQ/ISO7816_S_IN_PTS_RSP + * @note defined in ISO/IEC 7816-3:2006(E) section 9 + */ +enum pps_state { + PPS_S_WAIT_PPSS, /*!< initial byte */ + PPS_S_WAIT_PPS0, /*!< format byte */ + PPS_S_WAIT_PPS1, /*!< first parameter byte */ + PPS_S_WAIT_PPS2, /*!< second parameter byte */ + PPS_S_WAIT_PPS3, /*!< third parameter byte */ + PPS_S_WAIT_PCK, /*!< check byte */ + PPS_S_WAIT_END, /*!< all done */ + PPS_S_DONE +}; + +/*! Transport Protocol Data Unit (TPDU) sub-states of ISO7816_S_IN_TPDU + * @note defined in ISO/IEC 7816-3:2006(E) section 10 and 12 + * @remark APDUs are formed by one or more command+response TPDUs + */ +enum tpdu_state { + TPDU_S_INIT, /*!< initial state */ + TPDU_S_TX_HDR, /*!< transmitting hdr, waiting for completion */ + TPDU_S_PROCEDURE, /*!< procedure byte (could also be SW1) */ + TPDU_S_TX_REMAINING, /*!< Tx remaining data bytes */ + TPDU_S_TX_SINGLE, /*!< Tx single data byte */ + TPDU_S_RX_REMAINING, /*!< Rx remaining data bytes */ + TPDU_S_RX_SINGLE, /*!< Rx single data byte */ + TPDU_S_SW1, /*!< first status word */ + TPDU_S_SW2, /*!< second status word */ + TPDU_S_DONE, +}; + +/* FSM timer enumeration */ +enum iso7816_3_timer { + T_WAIT_ATR = 1, + T_GUARD, +}; + +/* forward declarations */ +static struct osmo_fsm iso7816_3_fsm; +static struct osmo_fsm atr_fsm; +static struct osmo_fsm tpdu_fsm; +static struct osmo_fsm pps_fsm; + +/* look-up table for bit-wise inversion to convert from "inverse convention" to normal */ +static const uint8_t convention_convert_lut[256] = { + 0xff, 0x7f, 0xbf, 0x3f, 0xdf, 0x5f, 0x9f, 0x1f, 0xef, 0x6f, 0xaf, 0x2f, 0xcf, 0x4f, 0x8f, 0x0f, + 0xf7, 0x77, 0xb7, 0x37, 0xd7, 0x57, 0x97, 0x17, 0xe7, 0x67, 0xa7, 0x27, 0xc7, 0x47, 0x87, 0x07, + 0xfb, 0x7b, 0xbb, 0x3b, 0xdb, 0x5b, 0x9b, 0x1b, 0xeb, 0x6b, 0xab, 0x2b, 0xcb, 0x4b, 0x8b, 0x0b, + 0xf3, 0x73, 0xb3, 0x33, 0xd3, 0x53, 0x93, 0x13, 0xe3, 0x63, 0xa3, 0x23, 0xc3, 0x43, 0x83, 0x03, + 0xfd, 0x7d, 0xbd, 0x3d, 0xdd, 0x5d, 0x9d, 0x1d, 0xed, 0x6d, 0xad, 0x2d, 0xcd, 0x4d, 0x8d, 0x0d, + 0xf5, 0x75, 0xb5, 0x35, 0xd5, 0x55, 0x95, 0x15, 0xe5, 0x65, 0xa5, 0x25, 0xc5, 0x45, 0x85, 0x05, + 0xf9, 0x79, 0xb9, 0x39, 0xd9, 0x59, 0x99, 0x19, 0xe9, 0x69, 0xa9, 0x29, 0xc9, 0x49, 0x89, 0x09, + 0xf1, 0x71, 0xb1, 0x31, 0xd1, 0x51, 0x91, 0x11, 0xe1, 0x61, 0xa1, 0x21, 0xc1, 0x41, 0x81, 0x01, + 0xfe, 0x7e, 0xbe, 0x3e, 0xde, 0x5e, 0x9e, 0x1e, 0xee, 0x6e, 0xae, 0x2e, 0xce, 0x4e, 0x8e, 0x0e, + 0xf6, 0x76, 0xb6, 0x36, 0xd6, 0x56, 0x96, 0x16, 0xe6, 0x66, 0xa6, 0x26, 0xc6, 0x46, 0x86, 0x06, + 0xfa, 0x7a, 0xba, 0x3a, 0xda, 0x5a, 0x9a, 0x1a, 0xea, 0x6a, 0xaa, 0x2a, 0xca, 0x4a, 0x8a, 0x0a, + 0xf2, 0x72, 0xb2, 0x32, 0xd2, 0x52, 0x92, 0x12, 0xe2, 0x62, 0xa2, 0x22, 0xc2, 0x42, 0x82, 0x02, + 0xfc, 0x7c, 0xbc, 0x3c, 0xdc, 0x5c, 0x9c, 0x1c, 0xec, 0x6c, 0xac, 0x2c, 0xcc, 0x4c, 0x8c, 0x0c, + 0xf4, 0x74, 0xb4, 0x34, 0xd4, 0x54, 0x94, 0x14, 0xe4, 0x64, 0xa4, 0x24, 0xc4, 0x44, 0x84, 0x04, + 0xf8, 0x78, 0xb8, 0x38, 0xd8, 0x58, 0x98, 0x18, 0xe8, 0x68, 0xa8, 0x28, 0xc8, 0x48, 0x88, 0x08, + 0xf0, 0x70, 0xb0, 0x30, 0xd0, 0x50, 0x90, 0x10, 0xe0, 0x60, 0xa0, 0x20, 0xc0, 0x40, 0x80, 0x00, +}; + +/*********************************************************************** + * ISO7816-3 Main FSM + ***********************************************************************/ + +static const struct value_string iso7816_3_event_names[] = { + { ISO7816_E_RX_SINGLE, "UART_RX_SINGLE" }, + { ISO7816_E_RX_COMPL, "UART_RX_COMPL" }, + { ISO7816_E_TX_COMPL, "UART_TX_COMPL" }, + { ISO7816_E_POWER_UP_IND, "POWER_UP_IND" }, + { ISO7816_E_RESET_REL_IND, "RESET_REL_IND" }, + { ISO7816_E_RX_ERR_IND, "RX_ERR_IND" }, + { ISO7816_E_TX_ERR_IND, "TX_ERR_IND" }, + { ISO7816_E_ATR_DONE_IND, "ATR_DONE_IND" }, + { ISO7816_E_TPDU_DONE_IND, "TPDU_DONE_IND" }, + { ISO7816_E_XCEIVE_TPDU_CMD, "XCEIVE_TPDU_CMD" }, + /* allstate events */ + { ISO7816_E_WTIME_EXP, "WAIT_TIME_EXP" }, + { ISO7816_E_HW_ERR_IND, "HW_ERR_IND" }, + { ISO7816_E_SW_ERR_IND, "SW_ERR_IND" }, + { ISO7816_E_CARD_REMOVAL, "CARD_REMOVAL" }, + { ISO7816_E_POWER_DN_IND, "POWER_DN_IND" }, + { ISO7816_E_RESET_ACT_IND, "RESET_ACT_IND" }, + { ISO7816_E_ABORT_REQ, "ABORT_REQ" }, + { ISO7816_E_TPDU_CLEAR_REQ, "TPDU_CLEAR_REQ" }, + { 0, NULL } +}; + +struct iso7816_3_priv { + uint8_t slot_nr; + /* child FSM instances */ + struct osmo_fsm_inst *atr_fi; + struct osmo_fsm_inst *pps_fi; + struct osmo_fsm_inst *tpdu_fi; + /* other data */ + bool convention_convert;/*!< If convention conversion is needed */ + uint16_t guard_time_ms; + /* underlying UART */ + struct card_uart *uart; + iso7816_user_cb user_cb; + void *user_priv; +}; + +/* type-safe method to obtain iso7816_3_priv from fi */ +static struct iso7816_3_priv *get_iso7816_3_priv(struct osmo_fsm_inst *fi) +{ + OSMO_ASSERT(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + return (struct iso7816_3_priv *) fi->priv; +} + +/* convert from clock cycles of the CLK line to milli-seconds */ +uint32_t fi_cycles2ms(struct osmo_fsm_inst *fi, uint32_t cyclces) +{ + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + /* FIXME */ + return 1000; +} + +/* card UART notifies us: dispatch to (main ISO7816-3) FSM */ +static void tpdu_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data) +{ + struct osmo_fsm_inst *fi = (struct osmo_fsm_inst *) cuart->priv; + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + LOGPFSML(fi, LOGL_DEBUG, "UART Notification '%s'\n", + get_value_string(card_uart_event_vals, evt)); + + /* FIXME: Set only flags here; Main loop polls flags and dispatches events */ + + switch (evt) { + case CUART_E_RX_SINGLE: + osmo_fsm_inst_dispatch(fi, ISO7816_E_RX_SINGLE, data); + break; + case CUART_E_RX_COMPLETE: + osmo_fsm_inst_dispatch(fi, ISO7816_E_RX_COMPL, data); + break; + case CUART_E_RX_TIMEOUT: + osmo_fsm_inst_dispatch(fi, ISO7816_E_WTIME_EXP, data); + break; + case CUART_E_TX_COMPLETE: + osmo_fsm_inst_dispatch(fi, ISO7816_E_TX_COMPL, data); + break; + } +} + +static void iso7816_3_reset_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + /* go back to initial state in child FSMs */ + osmo_fsm_inst_state_chg(ip->atr_fi, ATR_S_WAIT_TS, 0, 0); + //osmo_fsm_inst_state_chg(ip->pps_fi, PPS_S_WAIT_PPSS, 0, 0); + osmo_fsm_inst_state_chg(ip->tpdu_fi, TPDU_S_INIT, 0, 0); +} + +static void iso7816_3_reset_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RESET_REL_IND: + /* TOOD: this should happen before reset is released */ + card_uart_ctrl(ip->uart, CUART_CTL_RX, true); + osmo_fsm_inst_state_chg_ms(fi, ISO7816_S_WAIT_ATR, + fi_cycles2ms(fi, 40000), T_WAIT_ATR); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_wait_atr_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RX_SINGLE: + osmo_fsm_inst_state_chg(fi, ISO7816_S_IN_ATR, 0, 0); + osmo_fsm_inst_dispatch(ip->atr_fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_in_atr_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + struct msgb *atr; + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RX_SINGLE: + case ISO7816_E_RX_ERR_IND: + /* simply pass this through to the child FSM for the ATR */ + osmo_fsm_inst_dispatch(ip->atr_fi, event, data); + break; + case ISO7816_E_ATR_DONE_IND: + atr = data; + /* FIXME: verify ATR result: success / failure */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_WAIT_TPDU, 0, 0); + /* notify user about ATR */ + ip->user_cb(fi, event, 0, atr); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_wait_tpdu_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + /* reset the TPDU state machine */ + osmo_fsm_inst_dispatch(ip->tpdu_fi, ISO7816_E_TPDU_CLEAR_REQ, NULL); +} + +static void iso7816_3_wait_tpdu_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_XCEIVE_TPDU_CMD: + /* "data" contains a msgb-wrapped TPDU */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_IN_TPDU, 0, 0); + /* pass on to sub-fsm */ + osmo_fsm_inst_dispatch(ip->tpdu_fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_in_tpdu_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + struct msgb *apdu; + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_RX_SINGLE: + case ISO7816_E_RX_COMPL: + case ISO7816_E_RX_ERR_IND: + case ISO7816_E_TX_COMPL: + case ISO7816_E_TX_ERR_IND: + /* simply pass this through to the child FSM for the ATR */ + osmo_fsm_inst_dispatch(ip->tpdu_fi, event, data); + break; + case ISO7816_E_TPDU_DONE_IND: + apdu = data; + osmo_fsm_inst_state_chg(fi, ISO7816_S_WAIT_TPDU, 0, 0); + /* hand finished TPDU to user */ + ip->user_cb(fi, event, 0, apdu); + break; + default: + OSMO_ASSERT(0); + } +} + +static void iso7816_3_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + + switch (event) { + case ISO7816_E_WTIME_EXP: + case ISO7816_E_HW_ERR_IND: + case ISO7816_E_CARD_REMOVAL: + /* FIXME: power off? */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; + case ISO7816_E_POWER_DN_IND: + case ISO7816_E_RESET_ACT_IND: + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; + case ISO7816_E_ABORT_REQ: + /* FIXME */ + break; + default: + OSMO_ASSERT(0); + break; + } +} + +static const struct osmo_fsm_state iso7816_3_states[] = { + [ISO7816_S_RESET] = { + .name = "RESET", + .in_event_mask = S(ISO7816_E_RESET_REL_IND), + .out_state_mask = S(ISO7816_S_WAIT_ATR) | + S(ISO7816_S_RESET), + .action = iso7816_3_reset_action, + .onenter = iso7816_3_reset_onenter, + }, + [ISO7816_S_WAIT_ATR] = { + .name = "WAIT_ATR", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_IN_ATR), + .action = iso7816_3_wait_atr_action, + }, + [ISO7816_S_IN_ATR] = { + .name = "IN_ATR", + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_RX_ERR_IND) | + S(ISO7816_E_ATR_DONE_IND), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_IN_ATR) | + S(ISO7816_S_WAIT_TPDU), + .action = iso7816_3_in_atr_action, + }, + [ISO7816_S_WAIT_TPDU] = { + .name = "WAIT_TPDU", + .in_event_mask = S(ISO7816_E_XCEIVE_TPDU_CMD), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_TPDU) | + S(ISO7816_S_IN_PPS_REQ), + .action = iso7816_3_wait_tpdu_action, + .onenter = iso7816_3_wait_tpdu_onenter, + }, + [ISO7816_S_IN_TPDU] = { + .name = "IN_TPDU", + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_RX_COMPL) | + S(ISO7816_E_TX_COMPL) | + S(ISO7816_E_RX_ERR_IND) | + S(ISO7816_E_TX_ERR_IND) | + S(ISO7816_E_TPDU_DONE_IND), + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_TPDU), + .action = iso7816_3_in_tpdu_action, + }, + [ISO7816_S_IN_PPS_REQ] = { + .name = "IN_PPS_REQ", + .in_event_mask = 0, /* FIXME */ + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_PPS_REQ) | + S(ISO7816_S_WAIT_PPS_RSP), + }, + [ISO7816_S_WAIT_PPS_RSP] = { + .name = "WAIT_PPS_RESP", + .in_event_mask = 0, /* FIXME */ + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_WAIT_PPS_RSP) | + S(ISO7816_S_IN_PPS_RSP), + }, + [ISO7816_S_IN_PPS_RSP] = { + .name = "IN_PPS_RESP", + .in_event_mask = 0, /* FIXME */ + .out_state_mask = S(ISO7816_S_RESET) | + S(ISO7816_S_WAIT_TPDU) | + S(ISO7816_S_IN_PPS_RSP), + }, +}; +static struct osmo_fsm iso7816_3_fsm = { + .name = "ISO7816-3", + .states = iso7816_3_states, + .num_states = ARRAY_SIZE(iso7816_3_states), + .log_subsys = DISO7816, + .event_names = iso7816_3_event_names, + .allstate_action = iso7816_3_allstate_action, + .allstate_event_mask = S(ISO7816_E_WTIME_EXP) | + S(ISO7816_E_CARD_REMOVAL) | + S(ISO7816_E_POWER_DN_IND) | + S(ISO7816_E_RESET_ACT_IND) | + S(ISO7816_E_HW_ERR_IND) | + S(ISO7816_E_ABORT_REQ), +}; + +/*********************************************************************** + * ATR FSM + ***********************************************************************/ + +struct atr_fsm_priv { + uint8_t hist_len; /*!< store the number of expected historical bytes */ + uint8_t y; /*!< last mask of the upcoming TA, TB, TC, TD interface bytes */ + uint8_t i; /*!< interface byte subgroup number */ + struct msgb *atr; /*!< ATR data */ + uint8_t computed_checksum; + uint16_t protocol_support; +}; + +/* obtain the [software] guard time in milli-seconds from the atr fsm_inst */ +static uint32_t atr_fi_gt_ms(struct osmo_fsm_inst *fi) +{ + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip; + + OSMO_ASSERT(fi->fsm == &atr_fsm); + OSMO_ASSERT(parent_fi); + ip = get_iso7816_3_priv(parent_fi); + + return ip->guard_time_ms; +} + +/* obtain the 'byte' parmeter of an ISO7816_E_RX event */ +static uint8_t get_rx_byte_evt(struct osmo_fsm_inst *fi, void *data) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + uint8_t byte = *(uint8_t *)data; + + /* apply inverse convention */ + if (ip->convention_convert) + byte = convention_convert_lut[byte]; + + return byte; +} + +/* append a single byte to the ATR */ +static int atr_append_byte(struct osmo_fsm_inst *fi, uint8_t byte) +{ + struct atr_fsm_priv *atp = fi->priv; + + if (!msgb_tailroom(atp->atr)) { + LOGPFSML(fi, LOGL_ERROR, "ATR overflow !?!"); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_SW_ERR_IND, NULL); + return -1; + } + msgb_put_u8(atp->atr, byte); + return 0; +} + +static void atr_wait_ts_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct atr_fsm_priv *atp = fi->priv; + + /* reset state to its initial value */ + atp->hist_len = 0; + atp->y = 0; + atp->i = 0; + if (!atp->atr) + atp->atr = msgb_alloc_c(fi, 33, "ATR"); /* TS + 32 chars */ + else + msgb_reset(atp->atr); + atp->computed_checksum = 0; + atp->protocol_support = 0; +} + +static void atr_wait_ts_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct atr_fsm_priv *atp = fi->priv; + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + OSMO_ASSERT(msgb_length(atp->atr) == 0); +restart: + byte = get_rx_byte_evt(parent_fi, data); + LOGPFSML(fi, LOGL_DEBUG, "RX byte '%02x'\n", byte); + switch (byte) { + case 0x23: + /* direct convention used, but decoded using inverse + * convention (a parity error should also have occurred) */ + /* fall-through */ + case 0x30: + /* inverse convention used, but decoded using direct + * convention (a parity error should also have occurred) */ + ip->convention_convert = !ip->convention_convert; + goto restart; + break; + case 0x3b: /* direct convention used and correctly decoded */ + /* fall-through */ + case 0x3f: /* inverse convention used and correctly decoded */ + atr_append_byte(fi, byte); + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_T0, atr_fi_gt_ms(fi), T_GUARD); + break; + default: + LOGPFSML(fi, LOGL_ERROR, "Invalid TS received: 0x%02X\n", byte); + /* FIXME: somehow indiicate to user */ + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_SW_ERR_IND, NULL); + break; + } + atp->i = 0; /* first interface byte sub-group is coming (T0 is kind of TD0) */ + break; + default: + OSMO_ASSERT(0); + } +} + +static void atr_wait_tX_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct atr_fsm_priv *atp = fi->priv; + uint32_t guard_time_ms = atr_fi_gt_ms(fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "RX byte '%02x'\n", byte); + atr_append_byte(fi, byte); + switch (fi->state) { + case ATR_S_WAIT_T0: /* see ISO/IEC 7816-3:2006 section 8.2.2 */ + case ATR_S_WAIT_TD: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (fi->state == ATR_S_WAIT_T0) { + /* save number of hist. bytes */ + atp->hist_len = (byte & 0x0f); + } else { + /* remember supported protocol to know if TCK will be present */ + atp->protocol_support |= (1<<(byte & 0x0f)); + } + atp->y = (byte & 0xf0); /* remember incoming interface bytes */ + atp->i++; + if (atp->y & 0x10) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TA, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_TA: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (atp->y & 0x20) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TB, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_TB: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (atp->y & 0x40) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TC, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_TC: /* see ISO/IEC 7816-3:2006 section 8.2.3 */ + if (atp->y & 0x80) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TD, guard_time_ms, T_GUARD); + break; + } else if (atp->hist_len) { + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_HIST, guard_time_ms, T_GUARD); + break; + } + /* fall-through */ + case ATR_S_WAIT_HIST: /* see ISO/IEC 7816-3:2006 section 8.2.4 */ + if (atp->hist_len) + atp->hist_len--; + if (atp->hist_len == 0) { + if (atp->protocol_support > 1) { + /* wait for check byte */ + osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TCK, + guard_time_ms, T_GUARD); + break; + } + } else { + break; + } + /* fall-through */ + case ATR_S_WAIT_TCK: /* see ISO/IEC 7816-3:2006 section 8.2.5 */ + /* verify checksum if present */ + if (fi->state == ATR_S_WAIT_TCK) { + uint8_t ui; + uint8_t *atr = msgb_data(atp->atr); + LOGPFSML(fi, LOGL_INFO, "Complete ATR: %s\n", msgb_hexdump(atp->atr)); + for (ui = 1; ui < msgb_length(atp->atr)-1; ui++) { + atp->computed_checksum ^= atr[ui]; + } + if (atp->computed_checksum != byte) { + /* checkum error. report to user? */ + LOGPFSML(fi, LOGL_ERROR, + "computed checksum %02x doesn't match TCK=%02x\n", + atp->computed_checksum, byte); + } + /* ATR complete; notify parent */ + osmo_fsm_inst_state_chg(fi, ATR_S_DONE, 0, 0); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_DONE_IND, atp->atr); + } + break; + default: + OSMO_ASSERT(0); + } + break; + default: + OSMO_ASSERT(0); + } +} + +static const struct osmo_fsm_state atr_states[] = { + [ATR_S_WAIT_TS] = { + .name = "WAIT_TS", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_T0), + .action = atr_wait_ts_action, + .onenter = atr_wait_ts_onenter, + }, + [ATR_S_WAIT_T0] = { + .name = "WAIT_T0", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TA) | + S(ATR_S_WAIT_TB) | + S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TA] = { + .name = "WAIT_TA", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TB) | + S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TB] = { + .name = "WAIT_TB", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TC] = { + .name = "WAIT_TC", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TD] = { + .name = "WAIT_TD", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TA) | + S(ATR_S_WAIT_TB) | + S(ATR_S_WAIT_TC) | + S(ATR_S_WAIT_TD) | + S(ATR_S_WAIT_HIST) | + S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_HIST] = { + .name = "WAIT_HIST", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_WAIT_TCK) | + S(ATR_S_WAIT_T0), + .action = atr_wait_tX_action, + }, + [ATR_S_WAIT_TCK] = { + .name = "WAIT_TCK", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(ATR_S_DONE), + .action = atr_wait_tX_action, + }, + [ATR_S_DONE] = { + .name = "DONE", + .in_event_mask = 0, + .out_state_mask = S(ATR_S_WAIT_T0), + //.action = atr_done_action, + }, + +}; +static struct osmo_fsm atr_fsm = { + .name = "ATR", + .states = atr_states, + .num_states = ARRAY_SIZE(atr_states), + .log_subsys = DATR, + .event_names = iso7816_3_event_names, +}; + +/*********************************************************************** + * PPS FSM + ***********************************************************************/ + +static const struct osmo_fsm_state pps_states[] = { + [PPS_S_WAIT_PPSS] = { + .name = "WAIT_PPSS", + }, + [PPS_S_WAIT_PPS0] = { + .name = "WAIT_PPS0", + }, + [PPS_S_WAIT_PPS1] = { + .name = "WAIT_PPS1", + }, + [PPS_S_WAIT_PPS2] = { + .name = "WAIT_PPS2", + }, + [PPS_S_WAIT_PPS3] = { + .name = "WAIT_PPS3", + }, + [PPS_S_WAIT_PCK] = { + .name = "WAIT_PCK", + }, + [PPS_S_WAIT_END] = { + .name = "WAIT_END", + }, +}; + +static struct osmo_fsm pps_fsm = { + .name = "PPS", + .states = pps_states, + .num_states = ARRAY_SIZE(pps_states), + .log_subsys = DPPS, + .event_names = iso7816_3_event_names, +}; + +/*********************************************************************** + * TPDU FSM + ***********************************************************************/ + +struct tpdu_fsm_priv { + struct msgb *tpdu; +}; + +/* type-safe method to obtain iso7816_3_priv from fi */ +static struct tpdu_fsm_priv *get_tpdu_fsm_priv(struct osmo_fsm_inst *fi) +{ + OSMO_ASSERT(fi); + OSMO_ASSERT(fi->fsm == &tpdu_fsm); + return (struct tpdu_fsm_priv *) fi->priv; +} + + +static void tpdu_s_init_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + struct osim_apdu_cmd_hdr *tpduh; + + switch (event) { + case ISO7816_E_XCEIVE_TPDU_CMD: + /* start transmission of a TPDU by sending the 5-byte header */ + tfp->tpdu = (struct msgb *)data; + OSMO_ASSERT(msgb_length(tfp->tpdu) >= sizeof(*tpduh)); + tfp->tpdu->l2h = msgb_data(tfp->tpdu) + sizeof(*tpduh); + tpduh = msgb_data(tfp->tpdu); + LOGPFSML(fi, LOGL_DEBUG, "Transmitting TPDU header %s via UART\n", + osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); + osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); + card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh), true); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_s_tx_hdr_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(fi->fsm == &tpdu_fsm); + switch (event) { + case ISO7816_E_TX_COMPL: + /* Rx of single byte is already enabled by previous card_uart_tx() call */ + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + + + +static void tpdu_s_procedure_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + if (byte == 0x60) { + /* NULL: wait for another procedure byte */ + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + } else if ((byte >= 0x60 && byte <= 0x6f) || (byte >= 0x90 && byte <= 0x9f)) { + //msgb_apdu_sw(tfp->apdu) = byte << 8; + msgb_put(tfp->tpdu, byte); + /* receive second SW byte (SW2) */ + osmo_fsm_inst_state_chg(fi, TPDU_S_SW2, 0, 0); + break; + } else if (byte == tpduh->ins) { + if (msgb_l2len(tfp->tpdu)) { + /* transmit all remaining bytes */ + card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu), true); + osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); + } else { + card_uart_set_rx_threshold(ip->uart, tpduh->p3); + osmo_fsm_inst_state_chg(fi, TPDU_S_RX_REMAINING, 0, 0); + } + } else if (byte == (tpduh->ins ^ 0xFF)) { + osmo_panic("unsupported single-byte T=0 case"); + /* FIXME: transmit single byte then wait for proc */ + //osmo_fsm_inst_state_chg(fi, TPDU_S_xX_SINGLE, 0, 0); + //osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + } else + OSMO_ASSERT(0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is transmitting remaining data; we wait for ISO7816_E_TX_COMPL */ +static void tpdu_s_tx_remaining_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + + switch (event) { + case ISO7816_E_TX_COMPL: + card_uart_set_rx_threshold(ip->uart, 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is transmitting single byte of data; we wait for ISO7816_E_TX_COMPL */ +static void tpdu_s_tx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case ISO7816_E_TX_COMPL: + /* TODO: increase pointer/counter? */ + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is receiving remaining data; we wait for ISO7816_E_RX_COMPL */ +static void tpdu_s_rx_remaining_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + int rc; + + switch (event) { + case ISO7816_E_RX_COMPL: + /* retrieve pending byte(s) */ + rc = card_uart_rx(ip->uart, msgb_l2(tfp->tpdu), tpduh->p3); + if (rc != tpduh->p3) + LOGPFSML(fi, LOGL_ERROR, "expected %u bytes; read %d\n", tpduh->p3, rc); + card_uart_set_rx_threshold(ip->uart, 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +/* UART is receiving single byte of data; we wait for ISO7816_E_RX_SINGLE */ +static void tpdu_s_rx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + /* TODO: record byte */ + /* FIXME: determine if number of expected bytes received */ + if (0) { + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); + } else + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_s_sw1_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + /* record byte */ + //msgb_apdu_sw(tfp->apdu) = byte << 8; + msgb_put_u8(tfp->tpdu, byte); + card_uart_set_rx_threshold(ip->uart, 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_SW2, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_s_sw2_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osmo_fsm_inst *parent_fi = fi->proc.parent; + struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); + uint8_t byte; + + switch (event) { + case ISO7816_E_RX_SINGLE: + byte = get_rx_byte_evt(fi->proc.parent, data); + LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); + /* record SW2 byte */ + //msgb_apdu_sw(tfp->apdu) &= 0xFF00; + //msgb_apdu_sw(tfp->apdu) |= byte; + msgb_put_u8(tfp->tpdu, byte); + osmo_fsm_inst_state_chg(fi, TPDU_S_DONE, 0, 0); + /* Notify parent FSM */ + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_TPDU_DONE_IND, tfp->tpdu); + break; + default: + OSMO_ASSERT(0); + } +} + +static void tpdu_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(fi->fsm == &tpdu_fsm); + + switch (event) { + case ISO7816_E_RX_ERR_IND: + case ISO7816_E_TX_ERR_IND: + /* FIXME: handle this in some different way */ + osmo_fsm_inst_state_chg(fi, TPDU_S_DONE, 0, 0); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_TPDU_DONE_IND, NULL); + break; + case ISO7816_E_TPDU_CLEAR_REQ: + osmo_fsm_inst_state_chg(fi, TPDU_S_INIT, 0, 0); + break; + } +} + +static const struct osmo_fsm_state tpdu_states[] = { + [TPDU_S_INIT] = { + .name = "INIT", + .in_event_mask = S(ISO7816_E_XCEIVE_TPDU_CMD) | + S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_TX_HDR), + .action = tpdu_s_init_action, + }, + [TPDU_S_TX_HDR] = { + .name = "TX_HDR", + .in_event_mask = S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE), + .action = tpdu_s_tx_hdr_action, + }, + [TPDU_S_PROCEDURE] = { + .name = "PROCEDURE", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE) | + S(TPDU_S_RX_REMAINING) | + S(TPDU_S_RX_SINGLE) | + S(TPDU_S_TX_REMAINING) | + S(TPDU_S_TX_SINGLE) | + S(TPDU_S_SW2), + .action = tpdu_s_procedure_action, + }, + [TPDU_S_TX_REMAINING] = { + .name = "TX_REMAINING", + .in_event_mask = S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_SW1), + .action = tpdu_s_tx_remaining_action, + }, + [TPDU_S_TX_SINGLE] = { + .name = "TX_SINGLE", + .in_event_mask = S(ISO7816_E_TX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE), + .action = tpdu_s_tx_single_action, + }, + [TPDU_S_RX_REMAINING] = { + .name = "RX_REMAINING", + .in_event_mask = S(ISO7816_E_RX_COMPL), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_SW1), + .action = tpdu_s_rx_remaining_action, + }, + [TPDU_S_RX_SINGLE] = { + .name = "RX_SINGLE", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_PROCEDURE), + .action = tpdu_s_rx_single_action, + }, + [TPDU_S_SW1] = { + .name = "SW1", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_SW2), + .action = tpdu_s_sw1_action, + }, + [TPDU_S_SW2] = { + .name = "SW2", + .in_event_mask = S(ISO7816_E_RX_SINGLE), + .out_state_mask = S(TPDU_S_INIT) | + S(TPDU_S_DONE), + .action = tpdu_s_sw2_action, + }, + [TPDU_S_DONE] = { + .name = "DONE", + .in_event_mask = 0, + .out_state_mask = S(TPDU_S_INIT), + .action = NULL, + }, +}; +static struct osmo_fsm tpdu_fsm = { + .name = "TPDU", + .states = tpdu_states, + .num_states = ARRAY_SIZE(tpdu_states), + .allstate_event_mask = S(ISO7816_E_RX_ERR_IND) | + S(ISO7816_E_TX_ERR_IND) | + S(ISO7816_E_TPDU_CLEAR_REQ), + .allstate_action = tpdu_allstate_action, + .log_subsys = DTPDU, + .event_names = iso7816_3_event_names, +}; + +struct osmo_fsm_inst *iso7816_fsm_alloc(void *ctx, int log_level, const char *id, + struct card_uart *cuart, iso7816_user_cb user_cb, + void *user_priv) +{ + struct iso7816_3_priv *ip; + struct osmo_fsm_inst *fi; + + fi = osmo_fsm_inst_alloc(&iso7816_3_fsm, ctx, NULL, log_level, id); + ip = talloc_zero(fi, struct iso7816_3_priv); + if (!ip) + goto out_fi; + fi->priv = ip; + + ip->uart = cuart; + cuart->priv = fi; + cuart->handle_event = tpdu_uart_notification; + + ip->user_cb = user_cb; + ip->user_priv = user_priv; + + ip->atr_fi = osmo_fsm_inst_alloc_child(&atr_fsm, fi, ISO7816_E_SW_ERR_IND); + if (!ip->atr_fi) + goto out_fi; + ip->atr_fi->priv = talloc_zero(ip->atr_fi, struct atr_fsm_priv); + if (!ip->atr_fi->priv) + goto out_atr; + + ip->tpdu_fi = osmo_fsm_inst_alloc_child(&tpdu_fsm, fi, ISO7816_E_SW_ERR_IND); + if (!ip->tpdu_fi) + goto out_atr; + ip->tpdu_fi->priv = talloc_zero(ip->tpdu_fi, struct tpdu_fsm_priv); + if (!ip->tpdu_fi->priv) + goto out_tpdu; + +#if 0 + ip->pps_fi = osmo_fsm_inst_alloc_child(&pps_fsm, fi, ISO7816_E_SW_ERR_IND); + if (!ip->pps_fi) + goto out_tpdu; + ip->pps_fi->priv = talloc_zero(ip->pps_fi, struct pps_fsm_priv); + if (!ip->pps_fi->priv) + goto out_pps; +#endif + + /* This ensures the 'onenter' function of the initial state is called */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + + return fi; + +#if 0 +out_pps: + osmo_fsm_inst_free(ip->pps_fi); +#endif +out_tpdu: + osmo_fsm_inst_free(ip->tpdu_fi); +out_atr: + osmo_fsm_inst_free(ip->atr_fi); +out_fi: + osmo_fsm_inst_free(fi); + cuart->priv = NULL; + return NULL; +} + +void *iso7816_fsm_get_user_priv(struct osmo_fsm_inst *fi) +{ + struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); + return ip->user_priv; +} + + +static __attribute__((constructor)) void on_dso_load_iso7816(void) +{ + osmo_fsm_register(&iso7816_3_fsm); + osmo_fsm_register(&atr_fsm); + osmo_fsm_register(&tpdu_fsm); + osmo_fsm_register(&pps_fsm); +} diff --git a/ccid_common/iso7816_fsm.h b/ccid_common/iso7816_fsm.h new file mode 100644 index 0000000..9a6b24e --- /dev/null +++ b/ccid_common/iso7816_fsm.h @@ -0,0 +1,40 @@ +#pragma once + +#include +struct card_uart; + +enum iso7816_3_event { + ISO7816_E_RX_SINGLE, /*!< single-byte data received on UART */ + ISO7816_E_RX_COMPL, /*!< data receive complete on UART */ + ISO7816_E_TX_COMPL, /*!< data transmit complete on UART */ + ISO7816_E_POWER_UP_IND, /*!< Card powered up */ + ISO7816_E_RESET_REL_IND, /*!< Reset released */ + ISO7816_E_RX_ERR_IND, /*!< Uncorrectable Rx [parity] error */ + ISO7816_E_TX_ERR_IND, /*!< Uncorrectable Rx [parity] error */ + ISO7816_E_XCEIVE_TPDU_CMD, /*!< Ask for start of TPDU transmission */ + /* allstate events */ + ISO7816_E_WTIME_EXP, /*!< WTIME expired */ + ISO7816_E_HW_ERR_IND, /*!< Hardware error (overcurrent, ...) */ + ISO7816_E_SW_ERR_IND, /*!< Software error */ + ISO7816_E_CARD_REMOVAL, /*!< card has been removed from slot */ + ISO7816_E_POWER_DN_IND, /*!< Card powered down */ + ISO7816_E_RESET_ACT_IND, /*!< Reset activated */ + ISO7816_E_ABORT_REQ, /*!< Abort request (e.g. from CCID) */ + /* TODO: PPS request */ + /* TODO: Clock stop request */ + /* TODO: Rx FIFO overrun */ + /* TODO: Rx buffer overrun */ + + /* internal events between FSMs in this file */ + ISO7816_E_ATR_DONE_IND, /*!< ATR Done indication from ATR child FSM */ + ISO7816_E_TPDU_DONE_IND, /*!< TPDU Done indication from TPDU child FSM */ + ISO7816_E_TPDU_CLEAR_REQ, /*!< Return TPDU FSM to TPDU_S_INIT */ +}; + +typedef void (*iso7816_user_cb)(struct osmo_fsm_inst *fi, int event, int cause, void *data); + +struct osmo_fsm_inst *iso7816_fsm_alloc(void *ctx, int log_level, const char *id, + struct card_uart *cuart, iso7816_user_cb user_cb, + void *ussr_priv); + +void *iso7816_fsm_get_user_priv(struct osmo_fsm_inst *fi); diff --git a/ccid_host/Makefile b/ccid_host/Makefile index c8862a2..2ed6c83 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -3,6 +3,7 @@ ccid_functionfs: ccid_main_functionfs.o \ ccid_slot_sim.o \ + logging.o \ ../ccid_common/ccid_proto.o \ ../ccid_common/ccid_device.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio diff --git a/ccid_host/ccid_main_functionfs.c b/ccid_host/ccid_main_functionfs.c index 26bb525..5c0bc3b 100644 --- a/ccid_host/ccid_main_functionfs.c +++ b/ccid_host/ccid_main_functionfs.c @@ -7,6 +7,7 @@ #include #include "ccid_proto.h" +#include "logging.h" #if __BYTE_ORDER == __LITTLE_ENDIAN #define cpu_to_le16(x) (x) @@ -504,27 +505,6 @@ .send_int = ccid_ops_send_int, }; -static const struct log_info_cat log_info_cat[] = { - [DUSB] = { - .name = "USB", - .description = "USB Transport", - .enabled = 1, - .loglevel = LOGL_NOTICE, - }, - [DCCID] = { - .name = "CCID", - .description = "CCID Core", - .color = "\033[1;35m", - .enabled = 1, - .loglevel = LOGL_DEBUG, - }, -}; - -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) diff --git a/ccid_host/logging.c b/ccid_host/logging.c new file mode 100644 index 0000000..4e14815 --- /dev/null +++ b/ccid_host/logging.c @@ -0,0 +1,47 @@ +#include +#include +#include "logging.h" + +static const struct log_info_cat log_info_cat[] = { + [DUSB] = { + .name = "USB", + .description = "USB Transport", + .enabled = 1, + .loglevel = LOGL_NOTICE, + }, + [DCCID] = { + .name = "CCID", + .description = "USB-CCID Protocol", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DISO7816] = { + .name = "ISO7816", + .description = "ISO7816-3 State machines", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DATR] = { + .name = "ATR", + .description = "ATR (Answer To Reset) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DTPDU] = { + .name = "TPDU", + .description = "TPDU FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DPPS] = { + .name = "PPS", + .description = "PPS (Protocol and Parameter Selection) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, +}; + +const struct log_info log_info = { + .cat = log_info_cat, + .num_cat = ARRAY_SIZE(log_info_cat), +}; diff --git a/ccid_host/logging.h b/ccid_host/logging.h new file mode 100644 index 0000000..0a2d36a --- /dev/null +++ b/ccid_host/logging.h @@ -0,0 +1,13 @@ +#pragma once +#include + +enum { + DCCID, + DUSB, + DISO7816, + DATR, + DTPDU, + DPPS, +}; + +extern const struct log_info log_info; diff --git a/sysmoOCTSIM/libosmo_emb.c b/sysmoOCTSIM/libosmo_emb.c index b100560..1914568 100644 --- a/sysmoOCTSIM/libosmo_emb.c +++ b/sysmoOCTSIM/libosmo_emb.c @@ -46,8 +46,37 @@ }, [DCCID] = { .name = "CCID", - .description = "CCID Core", - .color = "\033[1;35m", + .description = "USB-CCID Protocol", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DISO7816] = { + .name = "ISO7816", + .description = "ISO7816-3 State machines", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DATR] = { + .name = "ATR", + .description = "ATR (Answer To Reset) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DTPDU] = { + .name = "TPDU", + .description = "TPDU FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DPPS] = { + .name = "PPS", + .description = "PPS (Protocol and Parameter Selection) FSM", + .enabled = 1, + .loglevel = LOGL_DEBUG, + }, + [DCARD] = { + .name = "CARD", + .description = "Card FSM", .enabled = 1, .loglevel = LOGL_DEBUG, }, diff --git a/sysmoOCTSIM/logging.h b/sysmoOCTSIM/logging.h index 900f88e..896b166 100644 --- a/sysmoOCTSIM/logging.h +++ b/sysmoOCTSIM/logging.h @@ -3,6 +3,11 @@ #include enum { + DCCID, DUSB, - DCCID + DISO7816, + DATR, + DTPDU, + DPPS, + DCARD, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15690 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: I0145b77e6165d36d33f18ef3a452f2c37913bd73 Gerrit-Change-Number: 15690 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 Wed Oct 9 16:36:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:08 +0000 Subject: Change in ...osmo-ccid-firmware[master]: 'cuart' Card-UART abstraction + driver for simple serial reader In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 ) Change subject: 'cuart' Card-UART abstraction + driver for simple serial reader ...................................................................... 'cuart' Card-UART abstraction + driver for simple serial reader Change-Id: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d --- A ccid_common/cuart.c A ccid_common/cuart.h M ccid_host/Makefile A ccid_host/cuart_driver_tty.c A ccid_host/cuart_test.c A ccid_host/utils_ringbuffer.c A ccid_host/utils_ringbuffer.h 7 files changed, 836 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c new file mode 100644 index 0000000..2c0428e --- /dev/null +++ b/ccid_common/cuart.c @@ -0,0 +1,133 @@ +#include +#include +#include +#include + +#include "cuart.h" + +static LLIST_HEAD(g_cuart_drivers); + +const struct value_string card_uart_event_vals[] = { + OSMO_VALUE_STRING(CUART_E_RX_SINGLE), + OSMO_VALUE_STRING(CUART_E_RX_COMPLETE), + OSMO_VALUE_STRING(CUART_E_RX_TIMEOUT), + OSMO_VALUE_STRING(CUART_E_TX_COMPLETE), + { 0, NULL } +}; + +static struct card_uart_driver *cuart_drv_by_name(const char *driver_name) +{ + struct card_uart_driver *drv; + llist_for_each_entry(drv, &g_cuart_drivers, list) { + if (!strcmp(drv->name, driver_name)) + return drv; + } + return NULL; +} + +int card_uart_open(struct card_uart *cuart, const char *driver_name, const char *device_name) +{ + struct card_uart_driver *drv = cuart_drv_by_name(driver_name); + int rc; + + if (!drv) + return -ENODEV; + + cuart->rx_enabled = true; + cuart->rx_threshold = 1; + + rc = drv->ops->open(cuart, device_name); + if (rc < 0) + return rc; + + cuart->driver = drv; + return 0; +} + +int card_uart_close(struct card_uart *cuart) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->close); + return cuart->driver->ops->close(cuart); +} + +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +{ + int rc; + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->ctrl); + rc = cuart->driver->ops->ctrl(cuart, ctl, enable); + if (rc < 0) + return rc; + + switch (ctl) { + case CUART_CTL_RX: + cuart->rx_enabled = enable; + break; + default: + break; + } + + return rc; +} + +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->async_tx); + + OSMO_ASSERT(!cuart->tx_busy); + cuart->tx_busy = true; + /* disable receiver to avoid receiving what we transmit */ + card_uart_ctrl(cuart, CUART_CTL_RX, false); + + return cuart->driver->ops->async_tx(cuart, data, len, rx_after_complete); +} + +int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->driver); + OSMO_ASSERT(cuart->driver->ops); + OSMO_ASSERT(cuart->driver->ops->async_rx); + return cuart->driver->ops->async_rx(cuart, data, len); +} + +void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold) +{ + cuart->rx_threshold = rx_threshold; +} + +void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data) +{ + OSMO_ASSERT(cuart); + OSMO_ASSERT(cuart->handle_event); + + switch (evt) { + case CUART_E_TX_COMPLETE: + cuart->tx_busy = false; + /* re-enable receiver if we're done with transmit */ + sleep(1); + card_uart_ctrl(cuart, CUART_CTL_RX, true); + break; + default: + break; + } + + cuart->handle_event(cuart, evt, data); +} + +int card_uart_driver_register(struct card_uart_driver *drv) +{ + OSMO_ASSERT(!cuart_drv_by_name(drv->name)); + OSMO_ASSERT(drv->name); + OSMO_ASSERT(drv->ops); + llist_add_tail(&drv->list, &g_cuart_drivers); + return 0; +} diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h new file mode 100644 index 0000000..7e217db --- /dev/null +++ b/ccid_common/cuart.h @@ -0,0 +1,107 @@ +#pragma once +#include +#include +#include + +#include +#include "utils_ringbuffer.h" + +enum card_uart_event { + /* a single byte was received, it's present at the (uint8_t *) data location */ + CUART_E_RX_SINGLE, + /* an entire block of data was received */ + CUART_E_RX_COMPLETE, + CUART_E_RX_TIMEOUT, + /* an entire block of data was written, as instructed in prior card_uart_tx() call */ + CUART_E_TX_COMPLETE, +}; + +extern const struct value_string card_uart_event_vals[]; + +enum card_uart_ctl { + CUART_CTL_RX, + CUART_CTL_POWER, + CUART_CTL_CLOCK, + CUART_CTL_RST, +}; + +struct card_uart; + +struct card_uart_ops { + int (*open)(struct card_uart *cuart, const char *device_name); + int (*close)(struct card_uart *cuart); + int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); + int (*async_rx)(struct card_uart *cuart, uint8_t *data, size_t len); + + int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); +}; + +/* Card UART driver */ +struct card_uart_driver { + /* global list of card UART drivers */ + struct llist_head list; + /* human-readable name of driver */ + const char *name; + /* operations implementing the driver */ + const struct card_uart_ops *ops; +}; + +struct card_uart { + /* member in global list of UARTs */ + struct llist_head list; + /* driver serving this UART */ + const struct card_uart_driver *driver; + /* event-handler function */ + void (*handle_event)(struct card_uart *cuart, enum card_uart_event evt, void *data); + /* opaque pointer for user */ + void *priv; + + /* is the transmitter currently busy (true) or not (false)? */ + bool tx_busy; + /* is the receiver currently enabled or not? */ + bool rx_enabled; + + /*! after how many bytes should we notify the user? If this is '1', we will + * issue CUART_E_RX_SINGLE; if it is > 1, we will issue CUART_E_RX_COMPLETE */ + uint32_t rx_threshold; + + /* driver-specific private data */ + union { + struct { + /* ringbuffer on receive side */ + uint8_t rx_buf[256]; + struct ringbuffer rx_ringbuf; + + /* pointer to (user-allocated) transmit buffer and length */ + const uint8_t *tx_buf; + size_t tx_buf_len; + /* index: offset of next to be transmitted byte in tx_buf */ + size_t tx_index; + + struct osmo_fd ofd; + unsigned int baudrate; + } tty; + } u; +}; + +/*! Open the Card UART */ +int card_uart_open(struct card_uart *cuart, const char *driver_name, const char *device_name); + +/*! Close the Card UART */ +int card_uart_close(struct card_uart *cuart); + +/*! Schedule (asynchronous) transmit data via UART; optionally enable Rx after completion */ +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); + +/*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ +int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); + +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); + +/*! Set the Rx notification threshold in number of bytes received */ +void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold); + +void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data); + +int card_uart_driver_register(struct card_uart_driver *drv); + diff --git a/ccid_host/Makefile b/ccid_host/Makefile index 2ed6c83..8f75559 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -1,6 +1,8 @@ CFLAGS=-Wall -g $(shell pkg-config --cflags libosmocore) -I../ccid_common -I. LIBS?=-lasan $(shell pkg-config --libs libosmocore) +all: ccid_functionfs hub_functionfs cuart_test + ccid_functionfs: ccid_main_functionfs.o \ ccid_slot_sim.o \ logging.o \ @@ -11,8 +13,14 @@ hub_functionfs: hub_main_functionfs.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio +cuart_test: cuart_test.o \ + cuart_driver_tty.o \ + utils_ringbuffer.o \ + ../ccid_common/cuart.o + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) + %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ clean: - rm -f ccid_functionfs hub_functionfs *.o + rm -f ccid_functionfs hub_functionfs cuart_test *.o diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c new file mode 100644 index 0000000..6bd2b52 --- /dev/null +++ b/ccid_host/cuart_driver_tty.c @@ -0,0 +1,287 @@ +/* Card (ICC) UART driver for simple serial readers attached to tty. + * This allows you to use the CCID core in Linux userspace against a serial reader */ + +#include +#include +#include +#include + +#include +#include +#include + +#include "cuart.h" +#include "utils_ringbuffer.h" + +/*********************************************************************** + * low-level helper routines + ***********************************************************************/ + +static int _init_uart(int fd) +{ + struct termios tio; + int rc; + + rc = tcgetattr(fd, &tio); + if (rc < 0) { + perror("tcgetattr()"); + return -EIO; + } + + tio.c_iflag = 0; + tio.c_oflag = 0; + tio.c_lflag = 0; + tio.c_cflag = CREAD | CLOCAL | CSTOPB | PARENB | CS8 | B9600; + + rc = tcsetattr(fd, TCSANOW, &tio); + if (rc < 0) { + perror("tcsetattr()"); + return -EIO; + } + + return 0; +} + +static void _set_dtr(int fd, bool dtr) +{ + int status, rc; + + rc = ioctl(fd, TIOCMGET, &status); + OSMO_ASSERT(rc == 0); + if (dtr) /* set DTR */ + status |= TIOCM_DTR; + else + status &= ~TIOCM_DTR; + rc = ioctl(fd, TIOCMSET, &status); + OSMO_ASSERT(rc == 0); +} + +static void _set_rts(int fd, bool rts) +{ + int status, rc; + + rc = ioctl(fd, TIOCMGET, &status); + OSMO_ASSERT(rc == 0); + if (rts) /* set RTS */ + status |= TIOCM_RTS; + else + status &= ~TIOCM_RTS; + rc = ioctl(fd, TIOCMSET, &status); + OSMO_ASSERT(rc == 0); +} + +static int read_timeout(int fd, uint8_t *out, size_t len, unsigned long timeout_ms) +{ + struct timeval tv = { .tv_sec = timeout_ms / 1000, .tv_usec = (timeout_ms % 1000) * 1000 }; + fd_set rd_set; + int rc; + + FD_ZERO(&rd_set); + FD_SET(fd, &rd_set); + rc = select(fd+1, &rd_set, NULL, NULL, &tv); + if (rc == 0) + return -ETIMEDOUT; + else if (rc < 0) + return rc; + + return read(fd, out, len); +} + +static int _flush(int fd) +{ +#if 0 + uint8_t buf[1]; + int rc; + + while (1) { + rc = read_timeout(fd, buf, sizeof(buf), 10); + if (rc == -ETIMEDOUT) + return 0; + else if (rc < 0) + return rc; + } +#else + return tcflush(fd, TCIFLUSH); +#endif +} + +/*********************************************************************** + * Interface with card_uart (cuart) core + ***********************************************************************/ + +/* forward-declaration */ +static struct card_uart_driver tty_uart_driver; +static int tty_uart_close(struct card_uart *cuart); + +static int tty_uart_fd_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct card_uart *cuart = (struct card_uart *) ofd->data; + uint8_t buf[256]; + int rc; + + if (what & OSMO_FD_READ) { + int i; + /* read any pending bytes and feed them into ring buffer */ + rc = read(ofd->fd, buf, sizeof(buf)); + OSMO_ASSERT(rc > 0); + for (i = 0; i < rc; i++) { + /* work-around for https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ + if (!cuart->rx_enabled) + continue; + + if (cuart->rx_threshold == 1) { + /* bypass ringbuffer and report byte directly */ + card_uart_notification(cuart, CUART_E_RX_SINGLE, &buf[i]); + } else { + /* go via ringbuffer and notify only after threshold */ + ringbuffer_put(&cuart->u.tty.rx_ringbuf, buf[i]); + if (ringbuffer_num(&cuart->u.tty.rx_ringbuf) >= cuart->rx_threshold) + card_uart_notification(cuart, CUART_E_RX_COMPLETE, NULL); + } + } + } + if (what & OSMO_FD_WRITE) { + unsigned int to_tx; + OSMO_ASSERT(cuart->u.tty.tx_buf_len > cuart->u.tty.tx_index); + /* push as many pending transmit bytes as possible */ + to_tx = cuart->u.tty.tx_buf_len - cuart->u.tty.tx_index; + rc = write(ofd->fd, cuart->u.tty.tx_buf + cuart->u.tty.tx_index, to_tx); + OSMO_ASSERT(rc > 0); + cuart->u.tty.tx_index += rc; + + /* if no more bytes to transmit, disable OSMO_FD_WRITE */ + if (cuart->u.tty.tx_index >= cuart->u.tty.tx_buf_len) { + ofd->when &= ~BSC_FD_WRITE; + /* ensure everything is written (tx queue/fifo drained) */ + tcdrain(cuart->u.tty.ofd.fd); + osmo_select_main(true); + cuart->tx_busy = false; + /* notify */ + card_uart_notification(cuart, CUART_E_TX_COMPLETE, (void *)cuart->u.tty.tx_buf); + } + } + return 0; +} + +static int tty_uart_open(struct card_uart *cuart, const char *device_name) +{ + int rc; + + rc = ringbuffer_init(&cuart->u.tty.rx_ringbuf, cuart->u.tty.rx_buf, sizeof(cuart->u.tty.rx_buf)); + if (rc < 0) + return rc; + + cuart->u.tty.ofd.fd = -1; + rc = osmo_serial_init(device_name, B9600); + if (rc < 0) + return rc; + + osmo_fd_setup(&cuart->u.tty.ofd, rc, BSC_FD_READ, tty_uart_fd_cb, cuart, 0); + cuart->u.tty.baudrate = B9600; + + rc = _init_uart(cuart->u.tty.ofd.fd); + if (rc < 0) { + tty_uart_close(cuart); + return rc; + } + + _flush(cuart->u.tty.ofd.fd); + + osmo_fd_register(&cuart->u.tty.ofd); + + return 0; +} + +static int tty_uart_close(struct card_uart *cuart) +{ + OSMO_ASSERT(cuart->driver == &tty_uart_driver); + if (cuart->u.tty.ofd.fd != -1) { + osmo_fd_unregister(&cuart->u.tty.ofd); + close(cuart->u.tty.ofd.fd); + cuart->u.tty.ofd.fd = -1; + } + return 0; +} + +static int tty_uart_async_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after) +{ + OSMO_ASSERT(cuart->driver == &tty_uart_driver); + + cuart->u.tty.tx_buf = data; + cuart->u.tty.tx_buf_len = len; + cuart->u.tty.tx_buf_len = len; + cuart->tx_busy = true; + cuart->u.tty.ofd.when |= OSMO_FD_WRITE; + + return 0; +} + +static int tty_uart_async_rx(struct card_uart *cuart, uint8_t *data, size_t len) +{ + int rc, i; + OSMO_ASSERT(cuart->driver == &tty_uart_driver); + + /* FIXME: actually do this asynchronously */ + for (i = 0; i < len; i++) { + rc = ringbuffer_get(&cuart->u.tty.rx_ringbuf, &data[i]); + if (rc < 0) + return i; + } + + return i; +} + +static int tty_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +{ + struct termios tio; + int rc; + + switch (ctl) { + case CUART_CTL_RX: + rc = tcgetattr(cuart->u.tty.ofd.fd, &tio); + if (rc < 0) { + perror("tcgetattr()"); + return -EIO; + } + /* We do our best here, but lots of [USB] serial drivers seem to ignore + * CREAD, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ + if (enable) + tio.c_cflag |= CREAD; + else + tio.c_cflag &= ~CREAD; + rc = tcsetattr(cuart->u.tty.ofd.fd, TCSANOW, &tio); + if (rc < 0) { + perror("tcsetattr()"); + return -EIO; + } + break; + case CUART_CTL_RST: + _set_rts(cuart->u.tty.ofd.fd, enable); + if (enable) + _flush(cuart->u.tty.ofd.fd); + break; + case CUART_CTL_POWER: + case CUART_CTL_CLOCK: + default: + return -EINVAL; + } + return 0; +} + +static const struct card_uart_ops tty_uart_ops = { + .open = tty_uart_open, + .close = tty_uart_close, + .async_tx = tty_uart_async_tx, + .async_rx = tty_uart_async_rx, + .ctrl = tty_uart_ctrl, +}; + +static struct card_uart_driver tty_uart_driver = { + .name = "tty", + .ops = &tty_uart_ops, +}; + +static __attribute__((constructor)) void on_dso_load_cuart_tty(void) +{ + card_uart_driver_register(&tty_uart_driver); +} diff --git a/ccid_host/cuart_test.c b/ccid_host/cuart_test.c new file mode 100644 index 0000000..aff9de7 --- /dev/null +++ b/ccid_host/cuart_test.c @@ -0,0 +1,76 @@ +#include +#include +#include +#include + +#include "cuart.h" + +static struct card_uart g_cuart; + + +static void handle_event(struct card_uart *cuart, enum card_uart_event evt, void *data) +{ + printf("Handle Event '%s'\n", get_value_string(card_uart_event_vals, evt)); + switch (evt) { + case CUART_E_RX_SINGLE: + printf("\t%02x\n", *(uint8_t *)data); + break; + } + +} + + +static int get_atr(uint8_t *atr, size_t max_len) +{ + int rc; + int i = 0; + + card_uart_ctrl(&g_cuart, CUART_CTL_RST, true); + usleep(100000); + card_uart_ctrl(&g_cuart, CUART_CTL_RST, false); + + sleep(1); + osmo_select_main(true); + + for (i = 0; i < max_len; i++) { + rc = card_uart_rx(&g_cuart, &atr[i], 1); + if (rc <= 0) + break; + } + + return i; +} + +static void test_apdu(void) +{ + const uint8_t select_mf[] = "\xa0\xa4\x04\x00\x02\x3f\x00"; + card_uart_tx(&g_cuart, select_mf, 5, true); + + osmo_select_main(true); + /* we should get an RX_SINGLE event here */ +} + + +int main(int argc, char **argv) +{ + uint8_t atr[64]; + int rc; + + g_cuart.handle_event = &handle_event; + rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + if (rc < 0) { + perror("opening UART"); + exit(1); + } + + rc = get_atr(atr, sizeof(atr)); + if (rc < 0) { + perror("getting ATR"); + exit(1); + } + printf("ATR: %s\n", osmo_hexdump(atr, rc)); + + test_apdu(); + + exit(0); +} diff --git a/ccid_host/utils_ringbuffer.c b/ccid_host/utils_ringbuffer.c new file mode 100644 index 0000000..49c273c --- /dev/null +++ b/ccid_host/utils_ringbuffer.c @@ -0,0 +1,109 @@ +/** + * \file + * + * \brief Ringbuffer functionality implementation. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ +#include +#include "utils_ringbuffer.h" + +/** + * \brief Ringbuffer init + */ +int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size) +{ + /* + * buf size must be aligned to power of 2 + */ + if ((size & (size - 1)) != 0) { + return -EINVAL; + } + + /* size - 1 is faster in calculation */ + rb->size = size - 1; + rb->read_index = 0; + rb->write_index = rb->read_index; + rb->buf = (uint8_t *)buf; + + return 0; +} + +/** + * \brief Get one byte from ringbuffer + * + */ +int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data) +{ + if (rb->write_index != rb->read_index) { + *data = rb->buf[rb->read_index & rb->size]; + rb->read_index++; + return 0; + } + + return -ENOENT; +} + +/** + * \brief Put one byte to ringbuffer + * + */ +int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data) +{ + rb->buf[rb->write_index & rb->size] = data; + + /* + * buffer full strategy: new data will overwrite the oldest data in + * the buffer + */ + if ((rb->write_index - rb->read_index) > rb->size) { + rb->read_index = rb->write_index - rb->size; + } + + rb->write_index++; + + return 0; +} + +/** + * \brief Return the element number of ringbuffer + */ +uint32_t ringbuffer_num(const struct ringbuffer *const rb) +{ + return rb->write_index - rb->read_index; +} + +/** + * \brief Flush ringbuffer + */ +uint32_t ringbuffer_flush(struct ringbuffer *const rb) +{ + rb->read_index = rb->write_index; + + return 0; +} diff --git a/ccid_host/utils_ringbuffer.h b/ccid_host/utils_ringbuffer.h new file mode 100644 index 0000000..07043a6 --- /dev/null +++ b/ccid_host/utils_ringbuffer.h @@ -0,0 +1,115 @@ +/** + * \file + * + * \brief Ringbuffer declaration. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ +#ifndef _UTILS_RINGBUFFER_H_INCLUDED +#define _UTILS_RINGBUFFER_H_INCLUDED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \addtogroup doc_driver_hal_utils_ringbuffer + * + * @{ + */ + +/** + * \brief Ring buffer element type + */ +struct ringbuffer { + uint8_t *buf; /** Buffer base address */ + uint32_t size; /** Buffer size */ + uint32_t read_index; /** Buffer read index */ + uint32_t write_index; /** Buffer write index */ +}; + +/** + * \brief Ring buffer init + * + * \param[in] rb The pointer to a ring buffer structure instance + * \param[in] buf Space to store the data + * \param[in] size The buffer length, must be aligned with power of 2 + * + * \return ERR_NONE on success, or an error code on failure. + */ +int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size); + +/** + * \brief Get one byte from ring buffer, the user needs to handle the concurrent + * access on buffer via put/get/flush + * + * \param[in] rb The pointer to a ring buffer structure instance + * \param[in] data One byte space to store the read data + * + * \return ERR_NONE on success, or an error code on failure. + */ +int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data); + +/** + * \brief Put one byte to ring buffer, the user needs to handle the concurrent access + * on buffer via put/get/flush + * + * \param[in] rb The pointer to a ring buffer structure instance + * \param[in] data One byte data to be put into ring buffer + * + * \return ERR_NONE on success, or an error code on failure. + */ +int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data); + +/** + * \brief Return the element number of ring buffer + * + * \param[in] rb The pointer to a ring buffer structure instance + * + * \return The number of elements in ring buffer [0, rb->size] + */ +uint32_t ringbuffer_num(const struct ringbuffer *const rb); + +/** + * \brief Flush ring buffer, the user needs to handle the concurrent access on buffer + * via put/get/flush + * + * \param[in] rb The pointer to a ring buffer structure instance + * + * \return ERR_NONE on success, or an error code on failure. + */ +uint32_t ringbuffer_flush(struct ringbuffer *const rb); + +/**@}*/ + +#ifdef __cplusplus +} +#endif +#endif /* _UTILS_RINGBUFFER_H_INCLUDED */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15691 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: Ic7e324d99f78b3bfb98fc667d9a1b7fa363f092d Gerrit-Change-Number: 15691 Gerrit-PatchSet: 6 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 Wed Oct 9 16:36:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:08 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart_driver_tty: Work around linux kernel bug ignoring CREAD In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15692 ) Change subject: cuart_driver_tty: Work around linux kernel bug ignoring CREAD ...................................................................... cuart_driver_tty: Work around linux kernel bug ignoring CREAD Almost all linux USB serial drivers are ignoring CREAD and hence cannot disable the receiver hardware, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 We therefore have to receive every byte we transmit before notifying the user of transmit completion. Change-Id: Id3cca29f78ee5469a1142aaa1ff754cc0427ec93 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c M ccid_host/cuart_test.c 4 files changed, 24 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index 2c0428e..393bf55 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -113,7 +113,6 @@ case CUART_E_TX_COMPLETE: cuart->tx_busy = false; /* re-enable receiver if we're done with transmit */ - sleep(1); card_uart_ctrl(cuart, CUART_CTL_RX, true); break; default: diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index 7e217db..c28209f 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -77,6 +77,8 @@ size_t tx_buf_len; /* index: offset of next to be transmitted byte in tx_buf */ size_t tx_index; + /* number of bytes we have received echoed back during transmit */ + uint32_t rx_count_during_tx; struct osmo_fd ofd; unsigned int baudrate; @@ -104,4 +106,3 @@ void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data); int card_uart_driver_register(struct card_uart_driver *drv); - diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c index 6bd2b52..7fc8d3a 100644 --- a/ccid_host/cuart_driver_tty.c +++ b/ccid_host/cuart_driver_tty.c @@ -125,7 +125,21 @@ rc = read(ofd->fd, buf, sizeof(buf)); OSMO_ASSERT(rc > 0); for (i = 0; i < rc; i++) { +#ifndef CREAD_ACTUALLY_WORKS /* work-around for https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ + if (cuart->tx_busy) { + if (cuart->u.tty.rx_count_during_tx < cuart->u.tty.tx_buf_len) { + /* FIXME: compare! */ + cuart->u.tty.rx_count_during_tx += 1; + if (cuart->u.tty.rx_count_during_tx == cuart->u.tty.tx_buf_len) { + cuart->tx_busy = false; + card_uart_notification(cuart, CUART_E_TX_COMPLETE, + (void *)cuart->u.tty.tx_buf); + } + continue; + } + } +#endif if (!cuart->rx_enabled) continue; @@ -152,12 +166,15 @@ /* if no more bytes to transmit, disable OSMO_FD_WRITE */ if (cuart->u.tty.tx_index >= cuart->u.tty.tx_buf_len) { ofd->when &= ~BSC_FD_WRITE; +#ifndef CREAD_ACTUALLY_WORKS + /* don't immediately notify user; first wait for characters to be received */ +#else /* ensure everything is written (tx queue/fifo drained) */ tcdrain(cuart->u.tty.ofd.fd); - osmo_select_main(true); cuart->tx_busy = false; /* notify */ card_uart_notification(cuart, CUART_E_TX_COMPLETE, (void *)cuart->u.tty.tx_buf); +#endif } } return 0; @@ -209,7 +226,8 @@ cuart->u.tty.tx_buf = data; cuart->u.tty.tx_buf_len = len; - cuart->u.tty.tx_buf_len = len; + cuart->u.tty.tx_index = 0; + cuart->u.tty.rx_count_during_tx = 0; cuart->tx_busy = true; cuart->u.tty.ofd.when |= OSMO_FD_WRITE; diff --git a/ccid_host/cuart_test.c b/ccid_host/cuart_test.c index aff9de7..0ed6614 100644 --- a/ccid_host/cuart_test.c +++ b/ccid_host/cuart_test.c @@ -47,6 +47,8 @@ card_uart_tx(&g_cuart, select_mf, 5, true); osmo_select_main(true); + sleep(1); + osmo_select_main(true); /* we should get an RX_SINGLE event here */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15692 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: Id3cca29f78ee5469a1142aaa1ff754cc0427ec93 Gerrit-Change-Number: 15692 Gerrit-PatchSet: 6 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 Wed Oct 9 16:36:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:09 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Add cuart_fsm_test program In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15738 ) Change subject: Add cuart_fsm_test program ...................................................................... Add cuart_fsm_test program Change-Id: I2b4be908b1bbd9b02f591a79b0eefaeae04badb8 --- M ccid_host/Makefile A ccid_host/cuart_fsm_test.c 2 files changed, 122 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_host/Makefile b/ccid_host/Makefile index 8f75559..d7bc3be 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -1,7 +1,7 @@ CFLAGS=-Wall -g $(shell pkg-config --cflags libosmocore) -I../ccid_common -I. LIBS?=-lasan $(shell pkg-config --libs libosmocore) -all: ccid_functionfs hub_functionfs cuart_test +all: ccid_functionfs hub_functionfs cuart_test cuart_fsm_test ccid_functionfs: ccid_main_functionfs.o \ ccid_slot_sim.o \ @@ -19,8 +19,16 @@ ../ccid_common/cuart.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) +cuart_fsm_test: cuart_fsm_test.o \ + logging.o \ + cuart_driver_tty.o \ + utils_ringbuffer.o \ + ../ccid_common/iso7816_fsm.o \ + ../ccid_common/cuart.o + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(shell pkg-config --libs libosmosim) + %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ clean: - rm -f ccid_functionfs hub_functionfs cuart_test *.o + rm -f ccid_functionfs hub_functionfs cuart_test cuart_fsm_test *.o diff --git a/ccid_host/cuart_fsm_test.c b/ccid_host/cuart_fsm_test.c new file mode 100644 index 0000000..92f3437 --- /dev/null +++ b/ccid_host/cuart_fsm_test.c @@ -0,0 +1,112 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "logging.h" +#include "cuart.h" +#include "iso7816_fsm.h" + +static struct card_uart g_cuart; + +enum test_state { + ST_WAIT_ATR, + ST_ATR_DONE, + ST_IN_TPDU, +}; +static enum test_state g_tstate = ST_WAIT_ATR; + +static void fsm_user_cb(struct osmo_fsm_inst *fi, int event, int cause, void *data) +{ + printf("Handle FSM User Event %d: cause=%d, data=%p\n", event, cause, data); + switch (event) { + case ISO7816_E_ATR_DONE_IND: + g_tstate = ST_ATR_DONE; + break; + case ISO7816_E_TPDU_DONE_IND: + printf("======= TPDU: %s\n", msgb_hexdump(data)); + msgb_free(data); + g_tstate = ST_ATR_DONE; + default: + break; + } +} + +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 osmo_fsm_inst *fi; + uint8_t atr[64]; + int rc; + + tall_main_ctx = talloc_named_const(NULL, 0, "main"); + msgb_talloc_ctx_init(tall_main_ctx, 0); + osmo_init_logging2(tall_main_ctx, &log_info); + osmo_fsm_log_addr(false); + + signal(SIGUSR1, &signal_handler); + + rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + if (rc < 0) { + perror("opening UART"); + exit(1); + } + + fi = iso7816_fsm_alloc(NULL, LOGL_DEBUG, "SIM0", &g_cuart, fsm_user_cb, NULL); + OSMO_ASSERT(fi); + + /* activate reset, then power up */ + card_uart_ctrl(&g_cuart, CUART_CTL_RST, true); + card_uart_ctrl(&g_cuart, CUART_CTL_POWER, true); + osmo_fsm_inst_dispatch(fi, ISO7816_E_POWER_UP_IND, NULL); + + /* activate clock */ + card_uart_ctrl(&g_cuart, CUART_CTL_CLOCK, true); + + /* wait some time and release reset */ + usleep(10000); + card_uart_ctrl(&g_cuart, CUART_CTL_RST, false); + osmo_fsm_inst_dispatch(fi, ISO7816_E_RESET_REL_IND, NULL); + + /* process any events in polling mode for initial change */ + osmo_select_main(1); + + struct msgb *apdu; + while (1) { + /* check if the new state requires us to do something */ + switch (g_tstate) { + case ST_ATR_DONE: + apdu = msgb_alloc(512, "TPDU"); + msgb_put_u8(apdu, 0x00); + msgb_put_u8(apdu, 0xa4); + msgb_put_u8(apdu, 0x00); + msgb_put_u8(apdu, 0x04); + msgb_put_u8(apdu, 0x02); + msgb_put_u8(apdu, 0x2f); + msgb_put_u8(apdu, 0x00); + osmo_fsm_inst_dispatch(fi, ISO7816_E_XCEIVE_TPDU_CMD, apdu); + g_tstate = ST_IN_TPDU; + break; + default: + break; + } + osmo_select_main(0); + } + + exit(0); +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15738 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: I2b4be908b1bbd9b02f591a79b0eefaeae04badb8 Gerrit-Change-Number: 15738 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 Wed Oct 9 16:36:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:09 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add .gitignore file In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 ) Change subject: add .gitignore file ...................................................................... add .gitignore file Change-Id: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a --- A .gitignore 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..67d3a67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.o +ccid_host/ccid_functionfs +ccid_host/cuart_test +ccid_host/hub_functionfs -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15693 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: Iecd6caa00abf79f58199a8168aa8a1d3f5c9cf0a Gerrit-Change-Number: 15693 Gerrit-PatchSet: 6 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 Wed Oct 9 16:36:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:09 +0000 Subject: Change in ...osmo-ccid-firmware[master]: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 ) Change subject: make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty ...................................................................... make ccid_main_functionfs use iso7816_fsm and cuart_driver_tty This works up to the point that we're getting the ATR displayed in pcsc_scan Change-Id: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 --- A ccid_common/ccid_slot_fsm.c M ccid_host/Makefile M ccid_host/ccid_main_functionfs.c 3 files changed, 218 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c new file mode 100644 index 0000000..06c14f1 --- /dev/null +++ b/ccid_common/ccid_slot_fsm.c @@ -0,0 +1,210 @@ +/* Code providing a ccid_slot_ops implementation based on iso7716_fsm, + * (which in turn sits on top of card_uart) */ + +#include +#include + +#include +#include +#include +#include + +#include "ccid_device.h" +#include "cuart.h" +#include "iso7816_fsm.h" + +struct iso_fsm_slot { + /* CCID slot above us */ + struct ccid_slot *cs; + /* main ISO7816-3 FSM instance beneath us */ + struct osmo_fsm_inst *fi; + /* UART beneath the ISO7816-3 FSM */ + struct card_uart *cuart; + /* bSeq of the operation currently in progress */ + uint8_t seq; +}; + +struct iso_fsm_slot_instance { + struct iso_fsm_slot slot[NR_SLOTS]; +}; + +static struct iso_fsm_slot_instance g_si; + +struct iso_fsm_slot *ccid_slot2iso_fsm_slot(struct ccid_slot *cs) +{ + OSMO_ASSERT(cs->slot_nr < ARRAY_SIZE(g_si.slot)); + return &g_si.slot[cs->slot_nr]; +} + +static const uint8_t sysmousim_sjs1_atr[] = { + 0x3B, 0x9F, 0x96, 0x80, 0x1F, 0xC7, 0x80, 0x31, + 0xA0, 0x73, 0xBE, 0x21, 0x13, 0x67, 0x43, 0x20, + 0x07, 0x18, 0x00, 0x00, 0x01, 0xA5 }; + +static const struct ccid_pars_decoded iso_fsm_def_pars = { + .fi = 372, + .di = 1, + .clock_stop = CCID_CLOCK_STOP_NOTALLOWED, + .inverse_convention = false, + .t0 = { + .guard_time_etu = 0, + .waiting_integer = 0, + }, + /* FIXME: T=1 */ +}; + +static void iso_fsm_slot_pre_proc_cb(struct ccid_slot *cs, struct msgb *msg) +{ + /* do nothing; real hardware would update the slot related state here */ +} + +static void iso_fsm_slot_icc_power_on_async(struct ccid_slot *cs, struct msgb *msg, + const struct ccid_pc_to_rdr_icc_power_on *ipo) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + ss->seq = ipo->hdr.bSeq; + LOGPCS(cs, LOGL_DEBUG, "scheduling power-up\n"); + + /* FIXME: do this via a FSM? */ + card_uart_ctrl(ss->cuart, CUART_CTL_RST, true); + card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_POWER_UP_IND, NULL); + cs->icc_powered = true; + card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, true); + usleep(10000); + card_uart_ctrl(ss->cuart, CUART_CTL_RST, false); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_RESET_REL_IND, NULL); + + msgb_free(msg); + /* continues in iso_fsm_clot_user_cb once ATR is received */ +} +static void iso_fsm_clot_user_cb(struct osmo_fsm_inst *fi, int event, int cause, void *data) +{ + struct iso_fsm_slot *ss = iso7816_fsm_get_user_priv(fi); + struct ccid_slot *cs = ss->cs; + struct msgb *tpdu, *resp; + + LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%p)\n", __func__, event, cause, data); + + switch (event) { + case ISO7816_E_ATR_DONE_IND: + tpdu = data; + /* FIXME: copy response data over */ + resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, + msgb_data(tpdu), msgb_length(tpdu)); + ccid_slot_send_unbusy(cs, resp); + msgb_free(tpdu); + break; + case ISO7816_E_TPDU_DONE_IND: + tpdu = data; + /* FIXME: copy response data over */ + resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_l2(tpdu), msgb_l2len(tpdu)); + ccid_slot_send_unbusy(cs, resp); + msgb_free(tpdu); + break; + } +} + +static void iso_fsm_slot_xfr_block_async(struct ccid_slot *cs, struct msgb *msg, + const struct ccid_pc_to_rdr_xfr_block *xfb) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + LOGPCS(cs, LOGL_DEBUG, "scheduling TPDU transfer\n"); + ss->seq = xfb->hdr.bSeq; + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_XCEIVE_TPDU_CMD, msg); + /* continues in iso_fsm_clot_user_cb once response/error/timeout is received */ +} + + +static void iso_fsm_slot_set_power(struct ccid_slot *cs, bool enable) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + if (enable) { + card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); + } else { + card_uart_ctrl(ss->cuart, CUART_CTL_POWER, false); + } +} + +static void iso_fsm_slot_set_clock(struct ccid_slot *cs, enum ccid_clock_command cmd) +{ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + + switch (cmd) { + case CCID_CLOCK_CMD_STOP: + card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, false); + break; + case CCID_CLOCK_CMD_RESTART: + card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, true); + break; + default: + OSMO_ASSERT(0); + } +} + +static int iso_fsm_slot_set_params(struct ccid_slot *cs, enum ccid_protocol_num proto, + const struct ccid_pars_decoded *pars_dec) +{ + /* we always acknowledge all parameters */ + return 0; +} + +static int iso_fsm_slot_set_rate_and_clock(struct ccid_slot *cs, uint32_t freq_hz, uint32_t rate_bps) +{ + /* we always acknowledge all rates/clocks */ + return 0; +} + + +static int iso_fsm_slot_init(struct ccid_slot *cs) +{ + void *ctx = NULL; /* FIXME */ + struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + struct card_uart *cuart = talloc_zero(ctx, struct card_uart); + char id_buf[16]; + char *devname = "/dev/null"; + int rc; + + LOGPCS(cs, LOGL_DEBUG, "%s\n", __func__); + + if (cs->slot_nr == 0) { + cs->icc_present = true; + devname = "/dev/ttyUSB5"; + } + + if (!cuart) + return -ENOMEM; + + snprintf(id_buf, sizeof(id_buf), "SIM%d", cs->slot_nr); + rc = card_uart_open(cuart, "tty", devname); + if (rc < 0) { + talloc_free(cuart); + return rc; + } + ss->fi = iso7816_fsm_alloc(ctx, LOGL_DEBUG, id_buf, cuart, iso_fsm_clot_user_cb, ss); + if (!ss->fi) { + talloc_free(cuart); + return -1; + } + + cs->default_pars = &iso_fsm_def_pars; + ss->cuart = cuart; + ss->cs = cs; + + + return 0; +} + +const struct ccid_slot_ops iso_fsm_slot_ops = { + .init = iso_fsm_slot_init, + .pre_proc_cb = iso_fsm_slot_pre_proc_cb, + .icc_power_on_async = iso_fsm_slot_icc_power_on_async, + .xfr_block_async = iso_fsm_slot_xfr_block_async, + .set_power = iso_fsm_slot_set_power, + .set_clock = iso_fsm_slot_set_clock, + .set_params = iso_fsm_slot_set_params, + .set_rate_and_clock = iso_fsm_slot_set_rate_and_clock, +}; diff --git a/ccid_host/Makefile b/ccid_host/Makefile index d7bc3be..e9f34cc 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -4,10 +4,14 @@ all: ccid_functionfs hub_functionfs cuart_test cuart_fsm_test ccid_functionfs: ccid_main_functionfs.o \ - ccid_slot_sim.o \ + cuart_driver_tty.o \ + utils_ringbuffer.o \ logging.o \ + ../ccid_common/cuart.o \ ../ccid_common/ccid_proto.o \ - ../ccid_common/ccid_device.o + ../ccid_common/ccid_device.o \ + ../ccid_common/ccid_slot_fsm.o \ + ../ccid_common/iso7816_fsm.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio hub_functionfs: hub_main_functionfs.o diff --git a/ccid_host/ccid_main_functionfs.c b/ccid_host/ccid_main_functionfs.c index 5c0bc3b..d45a936 100644 --- a/ccid_host/ccid_main_functionfs.c +++ b/ccid_host/ccid_main_functionfs.c @@ -152,6 +152,7 @@ #include "ccid_device.h" #include "ccid_slot_sim.h" +extern struct ccid_slot_ops iso_fsm_slot_ops; #ifndef FUNCTIONFS_SUPPORTS_POLL #include @@ -528,7 +529,7 @@ signal(SIGUSR1, &signal_handler); - ccid_instance_init(&g_ci, &c_ops, &slotsim_slot_ops, &descriptors.fs_descs.ccid, + ccid_instance_init(&g_ci, &c_ops, &iso_fsm_slot_ops, &descriptors.fs_descs.ccid, data_rates, clock_freqs, "", &ufh); ufh.ccid_handle = &g_ci; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15695 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: Ic656fff4a9c6b9aaf4b91aa16f66972ad28f8423 Gerrit-Change-Number: 15695 Gerrit-PatchSet: 6 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 Wed Oct 9 16:36:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:10 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Remove last argument (we always have the receiver active) In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 ) Change subject: card_uart_tx: Remove last argument (we always have the receiver active) ...................................................................... card_uart_tx: Remove last argument (we always have the receiver active) Change-Id: I8f82e9108d0eae86bbe4535403ccc680b7379a0e --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_common/iso7816_fsm.c M ccid_host/cuart_driver_tty.c M ccid_host/cuart_test.c 5 files changed, 8 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index 393bf55..895717a 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -75,7 +75,7 @@ return rc; } -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete) +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len) { OSMO_ASSERT(cuart); OSMO_ASSERT(cuart->driver); @@ -87,7 +87,7 @@ /* disable receiver to avoid receiving what we transmit */ card_uart_ctrl(cuart, CUART_CTL_RX, false); - return cuart->driver->ops->async_tx(cuart, data, len, rx_after_complete); + return cuart->driver->ops->async_tx(cuart, data, len); } int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len) diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index c28209f..790c277 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -30,7 +30,7 @@ struct card_uart_ops { int (*open)(struct card_uart *cuart, const char *device_name); int (*close)(struct card_uart *cuart); - int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); + int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len); int (*async_rx)(struct card_uart *cuart, uint8_t *data, size_t len); int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); @@ -93,7 +93,7 @@ int card_uart_close(struct card_uart *cuart); /*! Schedule (asynchronous) transmit data via UART; optionally enable Rx after completion */ -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len); /*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index f8fe14a..f20cbcd 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -809,7 +809,7 @@ LOGPFSML(fi, LOGL_DEBUG, "Transmitting TPDU header %s via UART\n", osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); - card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh), true); + card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh)); break; default: OSMO_ASSERT(0); @@ -855,7 +855,7 @@ } else if (byte == tpduh->ins) { if (msgb_l2len(tfp->tpdu)) { /* transmit all remaining bytes */ - card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu), true); + card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu)); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); } else { card_uart_set_rx_threshold(ip->uart, tpduh->p3); diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c index 7fc8d3a..3695b58 100644 --- a/ccid_host/cuart_driver_tty.c +++ b/ccid_host/cuart_driver_tty.c @@ -220,7 +220,7 @@ return 0; } -static int tty_uart_async_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after) +static int tty_uart_async_tx(struct card_uart *cuart, const uint8_t *data, size_t len) { OSMO_ASSERT(cuart->driver == &tty_uart_driver); diff --git a/ccid_host/cuart_test.c b/ccid_host/cuart_test.c index 0ed6614..d4d8faf 100644 --- a/ccid_host/cuart_test.c +++ b/ccid_host/cuart_test.c @@ -44,7 +44,7 @@ static void test_apdu(void) { const uint8_t select_mf[] = "\xa0\xa4\x04\x00\x02\x3f\x00"; - card_uart_tx(&g_cuart, select_mf, 5, true); + card_uart_tx(&g_cuart, select_mf, 5); osmo_select_main(true); sleep(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15696 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: I8f82e9108d0eae86bbe4535403ccc680b7379a0e Gerrit-Change-Number: 15696 Gerrit-PatchSet: 6 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 Wed Oct 9 16:36:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:36:11 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Implement single-byte RX/TX In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 ) Change subject: iso7816_fsm: Implement single-byte RX/TX ...................................................................... iso7816_fsm: Implement single-byte RX/TX Change-Id: I31fb127e1cb2fda0856658a6511089c3d9e31c2a --- M ccid_common/iso7816_fsm.c 1 file changed, 52 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index f20cbcd..e173030 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -779,8 +779,22 @@ * TPDU FSM ***********************************************************************/ +/* In this FSM weu use the msgb for the TPDU as follows: + * - 5-byte TPDU header is at msg->data + * - COMMAND TPDU: + * - command bytes are provided after the header at msg->l2h + * - in case of incremental transmission, l3h points to next to-be-transmitted byte + * - RESPONSE TPDU: + * - any response bytes are stored after the header at msg->l2h + */ + +static inline struct osim_apdu_cmd_hdr *msgb_tpdu_hdr(struct msgb *msg) { + return (struct osim_apdu_cmd_hdr *) msgb_data(msg); +} + struct tpdu_fsm_priv { struct msgb *tpdu; + bool is_command; /* is this a command TPDU (true) or a response (false) */ }; /* type-safe method to obtain iso7816_3_priv from fi */ @@ -805,8 +819,14 @@ tfp->tpdu = (struct msgb *)data; OSMO_ASSERT(msgb_length(tfp->tpdu) >= sizeof(*tpduh)); tfp->tpdu->l2h = msgb_data(tfp->tpdu) + sizeof(*tpduh); - tpduh = msgb_data(tfp->tpdu); - LOGPFSML(fi, LOGL_DEBUG, "Transmitting TPDU header %s via UART\n", + if (msgb_l2len(tfp->tpdu)) { + tfp->is_command = true; + tfp->tpdu->l3h = tfp->tpdu->l2h; /* next tx byte == first byte of body */ + } else + tfp->is_command = false; + tpduh = msgb_tpdu_hdr(tfp->tpdu); + LOGPFSML(fi, LOGL_DEBUG, "Transmitting %s TPDU header %s via UART\n", + tfp->is_command ? "COMMAND" : "RESPONSE", osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh)); @@ -834,7 +854,7 @@ static void tpdu_s_procedure_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); - struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osim_apdu_cmd_hdr *tpduh = msgb_tpdu_hdr(tfp->tpdu); struct osmo_fsm_inst *parent_fi = fi->proc.parent; struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); uint8_t byte; @@ -853,7 +873,7 @@ osmo_fsm_inst_state_chg(fi, TPDU_S_SW2, 0, 0); break; } else if (byte == tpduh->ins) { - if (msgb_l2len(tfp->tpdu)) { + if (tfp->is_command) { /* transmit all remaining bytes */ card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu)); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); @@ -862,10 +882,15 @@ osmo_fsm_inst_state_chg(fi, TPDU_S_RX_REMAINING, 0, 0); } } else if (byte == (tpduh->ins ^ 0xFF)) { - osmo_panic("unsupported single-byte T=0 case"); - /* FIXME: transmit single byte then wait for proc */ - //osmo_fsm_inst_state_chg(fi, TPDU_S_xX_SINGLE, 0, 0); - //osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + /* transmit/recieve single byte then wait for proc */ + if (tfp->is_command) { + /* transmit *next*, not first byte */ + OSMO_ASSERT(msgb_l3len(tfp->tpdu) >= 0); + card_uart_tx(ip->uart, msgb_l3(tfp->tpdu), 1); + osmo_fsm_inst_state_chg(fi, TPDU_S_TX_SINGLE, 0, 0); + } else { + osmo_fsm_inst_state_chg(fi, TPDU_S_RX_SINGLE, 0, 0); + } } else OSMO_ASSERT(0); break; @@ -893,10 +918,15 @@ /* UART is transmitting single byte of data; we wait for ISO7816_E_TX_COMPL */ static void tpdu_s_tx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + switch (event) { case ISO7816_E_TX_COMPL: - /* TODO: increase pointer/counter? */ - osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + tfp->tpdu->l3h += 1; + if (msgb_l3len(tfp->tpdu)) + osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); + else + osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); break; default: OSMO_ASSERT(0); @@ -907,7 +937,7 @@ static void tpdu_s_rx_remaining_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); - struct osim_apdu_cmd_hdr *tpduh = msgb_data(tfp->tpdu); + struct osim_apdu_cmd_hdr *tpduh = msgb_tpdu_hdr(tfp->tpdu); struct osmo_fsm_inst *parent_fi = fi->proc.parent; struct iso7816_3_priv *ip = get_iso7816_3_priv(parent_fi); int rc; @@ -916,8 +946,12 @@ case ISO7816_E_RX_COMPL: /* retrieve pending byte(s) */ rc = card_uart_rx(ip->uart, msgb_l2(tfp->tpdu), tpduh->p3); - if (rc != tpduh->p3) - LOGPFSML(fi, LOGL_ERROR, "expected %u bytes; read %d\n", tpduh->p3, rc); + OSMO_ASSERT(rc > 0); + msgb_put(tfp->tpdu, rc); + if (msgb_l2len(tfp->tpdu) != tpduh->p3) { + LOGPFSML(fi, LOGL_ERROR, "expected %u bytes; read %d\n", tpduh->p3, + msgb_l2len(tfp->tpdu)); + } card_uart_set_rx_threshold(ip->uart, 1); osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); break; @@ -930,17 +964,18 @@ static void tpdu_s_rx_single_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); + struct osim_apdu_cmd_hdr *tpduh = msgb_tpdu_hdr(tfp->tpdu); uint8_t byte; switch (event) { case ISO7816_E_RX_SINGLE: byte = get_rx_byte_evt(fi->proc.parent, data); LOGPFSML(fi, LOGL_DEBUG, "Received 0x%02x from UART\n", byte); - /* TODO: record byte */ - /* FIXME: determine if number of expected bytes received */ - if (0) { + msgb_put_u8(tfp->tpdu, byte); + /* determine if number of expected bytes received */ + if (msgb_l2len(tfp->tpdu) == tpduh->p3) osmo_fsm_inst_state_chg(fi, TPDU_S_SW1, 0, 0); - } else + else osmo_fsm_inst_state_chg(fi, TPDU_S_PROCEDURE, 0, 0); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15697 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: I31fb127e1cb2fda0856658a6511089c3d9e31c2a Gerrit-Change-Number: 15697 Gerrit-PatchSet: 6 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 Wed Oct 9 16:41:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 16:41:34 +0000 Subject: Change in ...osmo-gsm-manuals[master]: sigtran-osmocom.adoc: Fix typos Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15739 Change subject: sigtran-osmocom.adoc: Fix typos ...................................................................... sigtran-osmocom.adoc: Fix typos Change-Id: I31314dd36bac202103483bc93350736bfbc76be1 --- M common/chapters/sigtran-osmocom.adoc 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/39/15739/1 diff --git a/common/chapters/sigtran-osmocom.adoc b/common/chapters/sigtran-osmocom.adoc index 1f2bb1e..a0bc475 100644 --- a/common/chapters/sigtran-osmocom.adoc +++ b/common/chapters/sigtran-osmocom.adoc @@ -152,8 +152,8 @@ . implement SCCP connection coupling. This is something like a proxy for connection-oriented SCCP, and is what is used in SS7 to route - beyond a given MTP netwokr (e.g. at gateways between different MTP - networks) + beyond a given MTP network (e.g. at gateways between different MTP + networks). . consider all SCCP messages to be destined for the local point code of the receiver. This then means that the SG functionality must be @@ -231,7 +231,7 @@ * to point all BSCs and the MSC to connect to the IP+Port of the STP * to configure the point code of the MSC in the BSCs -==== A minimaal 3G configuration to get started +==== A minimal 3G configuration to get started You will be running the following programs: @@ -252,7 +252,7 @@ ---- You can use the OsmoSTP fully dynamic registration feature, so the -HNBGWs, the SMC and the SGSNwill simply register with their point +HNBGWs, the MSC and the SGSN will simply register with their point codes to the STP, and the STP will create most configuration on the fly. @@ -345,7 +345,7 @@ |Description|More verbose description (for human user only) |Protocol|Protocol (M3UA, SUA, IPA) to be operated by this server |Routing Key|Routing Key (mostly Point Code) routed to this AS -|Traffic Mode|Theoretically Bradcast, Load-Balance. Currently only Ovverride +|Traffic Mode|Theoretically Broadcast, Load-Balance. Currently only Override |Recovery Timeout|Duration of the AS T(r) recovery timer. During this time, outgoing messages are queued. If the AS is ACTIVE before timer expiration, the queue is drained. At @@ -398,7 +398,7 @@ === Osmocom SCCP Instances -An Osmocom SS7 Instance can be bound to an Osmocom SS7 Instance. It +An Osmocom SCCP Instance can be bound to an Osmocom SS7 Instance. It will register/bind for the ITU-standard Service Indicator (SI). === Osmocom SCCP User @@ -419,7 +419,7 @@ This is how Osmocom represents each individual connection of connection-oriented SCCP. -To illustrate the practical applicaiton: For the common use case of +To illustrate the practical application: For the common use case of the A or Iu interfaces, this means that every dedicated radio channel that is currently active to any UE/MS has one SCCP connection to the MSC and/or SGSN. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15739 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: I31314dd36bac202103483bc93350736bfbc76be1 Gerrit-Change-Number: 15739 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 Oct 9 16:42:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:42:49 +0000 Subject: Change in ...osmo-gsm-manuals[master]: sigtran-osmocom.adoc: Fix typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15739 ) Change subject: sigtran-osmocom.adoc: Fix typos ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15739 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: I31314dd36bac202103483bc93350736bfbc76be1 Gerrit-Change-Number: 15739 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Oct 2019 16:42: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 Oct 9 16:43:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 16:43:26 +0000 Subject: Change in ...osmo-gsm-manuals[master]: sigtran-osmocom.adoc: Fix typos In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15739 ) Change subject: sigtran-osmocom.adoc: Fix typos ...................................................................... sigtran-osmocom.adoc: Fix typos Change-Id: I31314dd36bac202103483bc93350736bfbc76be1 --- M common/chapters/sigtran-osmocom.adoc 1 file changed, 7 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/common/chapters/sigtran-osmocom.adoc b/common/chapters/sigtran-osmocom.adoc index 1f2bb1e..a0bc475 100644 --- a/common/chapters/sigtran-osmocom.adoc +++ b/common/chapters/sigtran-osmocom.adoc @@ -152,8 +152,8 @@ . implement SCCP connection coupling. This is something like a proxy for connection-oriented SCCP, and is what is used in SS7 to route - beyond a given MTP netwokr (e.g. at gateways between different MTP - networks) + beyond a given MTP network (e.g. at gateways between different MTP + networks). . consider all SCCP messages to be destined for the local point code of the receiver. This then means that the SG functionality must be @@ -231,7 +231,7 @@ * to point all BSCs and the MSC to connect to the IP+Port of the STP * to configure the point code of the MSC in the BSCs -==== A minimaal 3G configuration to get started +==== A minimal 3G configuration to get started You will be running the following programs: @@ -252,7 +252,7 @@ ---- You can use the OsmoSTP fully dynamic registration feature, so the -HNBGWs, the SMC and the SGSNwill simply register with their point +HNBGWs, the MSC and the SGSN will simply register with their point codes to the STP, and the STP will create most configuration on the fly. @@ -345,7 +345,7 @@ |Description|More verbose description (for human user only) |Protocol|Protocol (M3UA, SUA, IPA) to be operated by this server |Routing Key|Routing Key (mostly Point Code) routed to this AS -|Traffic Mode|Theoretically Bradcast, Load-Balance. Currently only Ovverride +|Traffic Mode|Theoretically Broadcast, Load-Balance. Currently only Override |Recovery Timeout|Duration of the AS T(r) recovery timer. During this time, outgoing messages are queued. If the AS is ACTIVE before timer expiration, the queue is drained. At @@ -398,7 +398,7 @@ === Osmocom SCCP Instances -An Osmocom SS7 Instance can be bound to an Osmocom SS7 Instance. It +An Osmocom SCCP Instance can be bound to an Osmocom SS7 Instance. It will register/bind for the ITU-standard Service Indicator (SI). === Osmocom SCCP User @@ -419,7 +419,7 @@ This is how Osmocom represents each individual connection of connection-oriented SCCP. -To illustrate the practical applicaiton: For the common use case of +To illustrate the practical application: For the common use case of the A or Iu interfaces, this means that every dedicated radio channel that is currently active to any UE/MS has one SCCP connection to the MSC and/or SGSN. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15739 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: I31314dd36bac202103483bc93350736bfbc76be1 Gerrit-Change-Number: 15739 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 Oct 9 16:44:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:44:03 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use the actual ARFCN for outgoing PCUIF messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15713 ) Change subject: L1SAP: use the actual ARFCN for outgoing PCUIF messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07b3aac97603d85fb6cf077d3a342b12b0643171 Gerrit-Change-Number: 15713 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 16:44: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 Oct 9 16:44:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:44:34 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15714 ) Change subject: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id69010ffa8c697e8c01bbb21509253c330f95343 Gerrit-Change-Number: 15714 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 16:44: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 Oct 9 16:45:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:45:24 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15715 ) Change subject: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7639215ef936a8ac05ca417a91f4e12755f318d4 Gerrit-Change-Number: 15715 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 16:45: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 Oct 9 16:45:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:45:45 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15716 ) Change subject: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d Gerrit-Change-Number: 15716 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 16:45: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 Oct 9 16:45:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:45:48 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use the actual ARFCN for outgoing PCUIF messages In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15713 ) Change subject: L1SAP: use the actual ARFCN for outgoing PCUIF messages ...................................................................... L1SAP: use the actual ARFCN for outgoing PCUIF messages Change-Id: I07b3aac97603d85fb6cf077d3a342b12b0643171 --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 4 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/common/l1sap.c b/src/common/l1sap.c index 67d569b..0696fab 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -802,10 +802,10 @@ } else { /* forward RTS.ind to PCU */ if (L1SAP_IS_PTCCH(rts_ind->fn)) { - pcu_tx_rts_req(&trx->ts[tn], 1, fn, 1 /* ARFCN */, + pcu_tx_rts_req(&trx->ts[tn], 1, fn, trx->arfcn, L1SAP_FN2PTCCHBLOCK(fn)); } else { - pcu_tx_rts_req(&trx->ts[tn], 0, fn, 0 /* ARFCN */, + pcu_tx_rts_req(&trx->ts[tn], 0, fn, trx->arfcn, L1SAP_FN2MACBLOCK(fn)); } /* return early, PCU takes care of rest */ @@ -1135,7 +1135,7 @@ return -EINVAL; if (L1SAP_IS_PTCCH(fn)) { pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PTCCH, fn, - 0 /* ARFCN */, L1SAP_FN2PTCCHBLOCK(fn), + trx->arfcn, L1SAP_FN2PTCCHBLOCK(fn), data, len, rssi, data_ind->ber10k, data_ind->ta_offs_256bits/64, data_ind->lqual_cb); @@ -1144,7 +1144,7 @@ if (pr_info != PRES_INFO_BOTH) return 0; /* PDTCH / PACCH frame handling */ - pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, 0 /* ARFCN */, + pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, trx->arfcn, L1SAP_FN2MACBLOCK(fn), data, len, rssi, data_ind->ber10k, data_ind->ta_offs_256bits/64, data_ind->lqual_cb); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07b3aac97603d85fb6cf077d3a342b12b0643171 Gerrit-Change-Number: 15713 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 Wed Oct 9 16:45:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:45:48 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15714 ) Change subject: L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U ...................................................................... L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U Change-Id: Id69010ffa8c697e8c01bbb21509253c330f95343 --- M src/common/l1sap.c 1 file changed, 0 insertions(+), 7 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/common/l1sap.c b/src/common/l1sap.c index 0696fab..7d403f0 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -333,13 +333,6 @@ if (L1SAP_IS_PTCCH(fn)) { *chan_type = GSMTAP_CHANNEL_PTCCH; *ss = L1SAP_FN2PTCCHBLOCK(fn); - if (l1sap->oph.primitive == PRIM_OP_INDICATION) { - OSMO_ASSERT(len > 0); - if ((*data[0]) == 7) - return -EINVAL; - (*data)++; - (*len)--; - } } else *chan_type = GSMTAP_CHANNEL_PACCH; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id69010ffa8c697e8c01bbb21509253c330f95343 Gerrit-Change-Number: 15714 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 Oct 9 16:45:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:45:49 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15715 ) Change subject: L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default ...................................................................... L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default We don't know whether a data block on PDCH belongs to PDTCH or PACCH without parsing it, because the latter one is being allocated on demand. Let's use GSMTAP_CHANNEL_PDTCH by default, rather than GSMTAP_CHANNEL_PACCH. Change-Id: I7639215ef936a8ac05ca417a91f4e12755f318d4 --- M src/common/l1sap.c 1 file changed, 4 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/src/common/l1sap.c b/src/common/l1sap.c index 7d403f0..87ef01b 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -333,8 +333,10 @@ if (L1SAP_IS_PTCCH(fn)) { *chan_type = GSMTAP_CHANNEL_PTCCH; *ss = L1SAP_FN2PTCCHBLOCK(fn); - } else - *chan_type = GSMTAP_CHANNEL_PACCH; + } else { + /* TODO: distinguish PACCH */ + *chan_type = GSMTAP_CHANNEL_PDTCH; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7639215ef936a8ac05ca417a91f4e12755f318d4 Gerrit-Change-Number: 15715 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 Wed Oct 9 16:45:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:45:49 +0000 Subject: Change in ...osmo-bts[master]: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15716 ) Change subject: L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them ...................................................................... L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d --- M src/common/l1sap.c 1 file changed, 18 insertions(+), 16 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/common/l1sap.c b/src/common/l1sap.c index 87ef01b..2008f0e 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1109,11 +1109,20 @@ DEBUGPGT(DL1P, &g_time, "Rx PH-DATA.ind chan_nr=%s link_id=0x%02x len=%d\n", rsl_chan_nr_str(chan_nr), link_id, len); + /* Actually, there can be no DATA.ind on PTCCH/U (rather RACH.ind instead), + * but some BTS models with buggy implementation may still be sending them + * to us. Let's keep this for backwards compatibility. */ + if (L1SAP_IS_CHAN_PDCH(chan_nr) && L1SAP_IS_PTCCH(fn)) { + LOGPGT(DL1P, LOGL_NOTICE, &g_time, "There can be no DATA.ind on PTCCH/U. " + "This is probably a bug of the BTS model you're using, please fix!\n"); + return -EINVAL; + } + if (ts_is_pdch(&trx->ts[tn])) { lchan = get_lchan_by_chan_nr(trx, chan_nr); if (!lchan) LOGPGT(DL1P, LOGL_ERROR, &g_time, "No lchan for chan_nr=%s\n", rsl_chan_nr_str(chan_nr)); - if (lchan && lchan->loopback && !L1SAP_IS_PTCCH(fn)) { + if (lchan && lchan->loopback) { /* we are in loopback mode (for BER testing) * mode and need to enqeue the frame to be * returned in downlink */ @@ -1128,21 +1137,14 @@ /* don't send bad frames to PCU */ if (len == 0) return -EINVAL; - if (L1SAP_IS_PTCCH(fn)) { - pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PTCCH, fn, - trx->arfcn, L1SAP_FN2PTCCHBLOCK(fn), - data, len, rssi, data_ind->ber10k, - data_ind->ta_offs_256bits/64, - data_ind->lqual_cb); - } else { - /* drop incomplete UL block */ - if (pr_info != PRES_INFO_BOTH) - return 0; - /* PDTCH / PACCH frame handling */ - pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, trx->arfcn, - L1SAP_FN2MACBLOCK(fn), data, len, rssi, data_ind->ber10k, - data_ind->ta_offs_256bits/64, data_ind->lqual_cb); - } + /* drop incomplete UL block */ + if (pr_info != PRES_INFO_BOTH) + return 0; + + /* PDTCH / PACCH frame handling */ + pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, trx->arfcn, + L1SAP_FN2MACBLOCK(fn), data, len, rssi, data_ind->ber10k, + data_ind->ta_offs_256bits/64, data_ind->lqual_cb); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib846a9b8e619c7da56b5f0a54d16f629913af80d Gerrit-Change-Number: 15716 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 Wed Oct 9 16:46:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:46:51 +0000 Subject: Change in ...osmo-pcu[master]: VTY: refactor pcu_vty_show_ms_all(): use show_ms() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15726 ) Change subject: VTY: refactor pcu_vty_show_ms_all(): use show_ms() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72aa1a1de22602a3ad2a4d19604ae0935c88c750 Gerrit-Change-Number: 15726 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 16:46: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 Oct 9 16:47:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:47:29 +0000 Subject: Change in ...osmo-pcu[master]: VTY: fix command 'show tbf all': properly filter TBFs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15727 ) Change subject: VTY: fix command 'show tbf all': properly filter TBFs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c9f401368af880a97d32905c4cce0da481ffc21 Gerrit-Change-Number: 15727 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 16:47: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 Oct 9 16:47:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:47:30 +0000 Subject: Change in ...osmo-pcu[master]: VTY: refactor pcu_vty_show_ms_all(): use show_ms() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15726 ) Change subject: VTY: refactor pcu_vty_show_ms_all(): use show_ms() ...................................................................... VTY: refactor pcu_vty_show_ms_all(): use show_ms() Change-Id: I72aa1a1de22602a3ad2a4d19604ae0935c88c750 --- M src/pcu_vty_functions.cpp 1 file changed, 11 insertions(+), 24 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/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 3008267..fd8474b 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -124,30 +124,6 @@ return CMD_SUCCESS; } -int pcu_vty_show_ms_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data) -{ - BTS *bts = bts_data->bts; - LListHead *ms_iter; - - llist_for_each(ms_iter, &bts->ms_store().ms_list()) { - GprsMs *ms = ms_iter->entry(); - - vty_out(vty, "MS TLLI=%08x, TA=%d, CS-UL=%s, CS-DL=%s, LLC=%zd, Cl=%d, E-Cl=%d," - " TBF-UL=%s, TBF-DL=%s, IMSI=%s%s", - ms->tlli(), - ms->ta(), mcs_name(ms->current_cs_ul()), - mcs_name(ms->current_cs_dl()), - ms->llc_queue()->size(), - ms->ms_class(), - ms->egprs_ms_class(), - ms->ul_tbf() ? ms->ul_tbf()->state_name() : "NA", - ms->dl_tbf() ? ms->dl_tbf()->state_name() : "NA", - ms->imsi(), - VTY_NEWLINE); - } - return CMD_SUCCESS; -} - static int show_ms(struct vty *vty, GprsMs *ms) { unsigned i; @@ -230,6 +206,17 @@ return CMD_SUCCESS; } +int pcu_vty_show_ms_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data) +{ + BTS *bts = bts_data->bts; + LListHead *ms_iter; + + llist_for_each(ms_iter, &bts->ms_store().ms_list()) + show_ms(vty, ms_iter->entry()); + + return CMD_SUCCESS; +} + int pcu_vty_show_ms_by_tlli(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t tlli) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72aa1a1de22602a3ad2a4d19604ae0935c88c750 Gerrit-Change-Number: 15726 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 Wed Oct 9 16:47:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:47:31 +0000 Subject: Change in ...osmo-pcu[master]: VTY: fix command 'show tbf all': properly filter TBFs In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15727 ) Change subject: VTY: fix command 'show tbf all': properly filter TBFs ...................................................................... VTY: fix command 'show tbf all': properly filter TBFs For a long time the VTY command to show all active TBFs was broken. The TBF filtering (by allocation origin) logic allows one to show TBFs allocated on CCCH, PACCH, or on both of them. In the latter case we have been checking whether a TBF was allocated on both logical channels at the same time. Let's fix this by passing a flag-mask instead of boolean arguments. To be able to use GPRS_RLCMAC_FLAG_* definitions from "tbf.h", let's exclude them from "#ifdef __cplusplus ... #endif" block. Change-Id: I1c9f401368af880a97d32905c4cce0da481ffc21 --- M src/pcu_vty.c M src/pcu_vty_functions.cpp M src/pcu_vty_functions.h M src/tbf.h 4 files changed, 22 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/src/pcu_vty.c b/src/pcu_vty.c index 23a42e7..996ce61 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -1165,13 +1165,14 @@ "TBFs allocated via PACCH\n") { struct gprs_rlcmac_bts *bts = bts_main_data(); - if (!strcmp(argv[0], "all")) - return pcu_vty_show_tbf_all(vty, bts, true, true); + uint32_t flags = UINT32_MAX; - if (!strcmp(argv[0], "ccch")) - return pcu_vty_show_tbf_all(vty, bts_main_data(), true, false); + if (argv[0][0] == 'c') + flags = (1 << GPRS_RLCMAC_FLAG_CCCH); + else if (argv[0][0] == 'p') + flags = (1 << GPRS_RLCMAC_FLAG_PACCH); - return pcu_vty_show_tbf_all(vty, bts_main_data(), false, true); + return pcu_vty_show_tbf_all(vty, bts, flags); } DEFUN(show_ms_all, diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index fd8474b..7b6c84f 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -45,17 +45,11 @@ #include "coding_scheme.h" } -static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf, bool show_ccch, bool show_pacch) +static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf) { gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - if (show_ccch && !(tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) - return; - - if (show_pacch && !(tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) - return; - vty_out(vty, "TBF: TFI=%d TLLI=0x%08x (%s) TA=%u DIR=%s IMSI=%s%s", tbf->tfi(), tbf->tlli(), tbf->is_tlli_valid() ? "valid" : "invalid", tbf->ta(), @@ -108,18 +102,22 @@ vty_out(vty, "%s%s", VTY_NEWLINE, VTY_NEWLINE); } -int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, bool show_ccch, bool show_pacch) +int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t flags) { BTS *bts = bts_data->bts; - LListHead *ms_iter; + LListHead *iter; vty_out(vty, "UL TBFs%s", VTY_NEWLINE); - llist_for_each(ms_iter, &bts->ul_tbfs()) - tbf_print_vty_info(vty, ms_iter->entry(), show_ccch, show_pacch); + llist_for_each(iter, &bts->ul_tbfs()) { + if (iter->entry()->state_flags & flags) + tbf_print_vty_info(vty, iter->entry()); + } vty_out(vty, "%sDL TBFs%s", VTY_NEWLINE, VTY_NEWLINE); - llist_for_each(ms_iter, &bts->dl_tbfs()) - tbf_print_vty_info(vty, ms_iter->entry(), show_ccch, show_pacch); + llist_for_each(iter, &bts->dl_tbfs()) { + if (iter->entry()->state_flags & flags) + tbf_print_vty_info(vty, iter->entry()); + } return CMD_SUCCESS; } diff --git a/src/pcu_vty_functions.h b/src/pcu_vty_functions.h index 3fef208..6fbc366 100644 --- a/src/pcu_vty_functions.h +++ b/src/pcu_vty_functions.h @@ -27,7 +27,7 @@ struct vty; struct gprs_rlcmac_bts; -int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, bool show_ccch, bool show_pacch); +int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t flags); int pcu_vty_show_ms_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data); int pcu_vty_show_ms_by_tlli(struct vty *vty, struct gprs_rlcmac_bts *bts_data, uint32_t tlli); diff --git a/src/tbf.h b/src/tbf.h index fd65b20..9545385 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -38,6 +38,8 @@ class GprsMs; struct gprs_rlcmac_bts; +#endif + /* * TBF instance */ @@ -171,6 +173,8 @@ #define TBF_ASS_TYPE_SET(t, kind) do { t->ass_type_mod(kind, false, __FILE__, __LINE__); } while(0) #define TBF_ASS_TYPE_UNSET(t, kind) do { t->ass_type_mod(kind, true, __FILE__, __LINE__); } while(0) +#ifdef __cplusplus + struct gprs_rlcmac_tbf { gprs_rlcmac_tbf(BTS *bts_, gprs_rlcmac_tbf_direction dir); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c9f401368af880a97d32905c4cce0da481ffc21 Gerrit-Change-Number: 15727 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 Wed Oct 9 16:48:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:48:48 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log 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 log context ...................................................................... Patch Set 7: Code-Review+1 -- 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: 7 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, 09 Oct 2019 16:48: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 Oct 9 16:48:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:48:59 +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 5: 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: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 16: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 Wed Oct 9 16:54:42 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Oct 2019 16:54:42 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: change IRQ endpoint re-submit logic. In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 ) Change subject: WIP: change IRQ endpoint re-submit logic. ...................................................................... Patch Set 4: The interrupt EP is not driven semi-synchronously by reacting to corresponding transfers from the host like the bulk EPs (the SIE will only automagically NAK all IN transfers from the host as long as no data is available), data is instead prepared asynchronously caused by changes to the sim card status, therefore attempting to submit a transfer while the ep is busy should not be an error condition. -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 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: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed Gerrit-Change-Number: 15689 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Oct 2019 16:54: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 Wed Oct 9 16:56:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 16:56:37 +0000 Subject: Change in ...osmo-msc[master]: paging: reduce paging response timer to 3 sec In-Reply-To: References: Message-ID: laforge 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 5: This is possibly dangerous. Paging on GSM can take a rather long time, and it depends on factors such as CCCH/PCH capacity, configuration parameters such as number of paging groups, DRX cycle, ... See e.g. http://gsm-optimization.blogspot.com/2012/04/paging-group.html or http://etutorials.org/Mobile+devices/gprs+mobile+internet/Chapter+5+Radio+Interface+RLC+MAC+Layer/Listening+to+MS+Paging+Blocks/ If you have configured 9 paging groups, then the paging of one group only occurs once every 9 51-multiframes, which is 9*240ms, i.e. 2.1 seconds. And as you mapy page any number of MS at the same time in that paging group, there's queueing and quite a bit of delay. so 10s is actually not even the upper bound, IMHO. -- 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: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 16:56: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 Oct 9 17:04:25 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 9 Oct 2019 17:04:25 +0000 Subject: Change in ...osmo-ccid-firmware[master]: SRAM linker script: shift start of RAM by 64kByte In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 ) Change subject: SRAM linker script: shift start of RAM by 64kByte ...................................................................... Patch Set 4: I guess this can be abandoned, it was part of a somewhat misguided attempt to run the whole fw from ram. -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 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: I69ed656ac7007c5b8aa08c18569a7da5fe6ef277 Gerrit-Change-Number: 15688 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Oct 2019 17:04: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 Wed Oct 9 17:13:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:13:33 +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 7: Code-Review+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: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 17:13: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 Oct 9 17:13:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:13:34 +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 submitted this change and it was merged. ( 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 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, 709 insertions(+), 100 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 7ad5908..39d232b 100644 --- a/configure.ac +++ b/configure.ac @@ -68,6 +68,9 @@ AC_CHECK_LIB(execinfo, backtrace, BACKTRACE_LIB=-lexecinfo, BACKTRACE_LIB=) AC_SUBST(BACKTRACE_LIB) +# check for pthread (PTHREAD_CFLAGS, PTHREAD_LIBS) +AX_PTHREAD + # check for old glibc < 2.17 to get clock_gettime AC_SEARCH_LIBS([clock_gettime], [rt posix4], [LIBRARY_RT="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_RT) diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 1a2d60b..139d291 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -380,4 +380,18 @@ struct log_target *log_target_find(int type, const char *fname); +void log_enable_multithread(void); + +void log_tgt_mutex_lock_impl(void); +void log_tgt_mutex_unlock_impl(void); +#define LOG_MTX_DEBUG 0 +#if LOG_MTX_DEBUG + #include + #define log_tgt_mutex_lock() do { fprintf(stderr, "[%lu] %s:%d [%s] lock\n", pthread_self(), __FILE__, __LINE__, __func__); log_tgt_mutex_lock_impl(); } 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_impl(); } while (0) +#else + #define log_tgt_mutex_lock() log_tgt_mutex_lock_impl() + #define log_tgt_mutex_unlock() log_tgt_mutex_unlock_impl() +#endif + /*! @} */ diff --git a/libosmocore.pc.in b/libosmocore.pc.in index d355659..ce82d4f 100644 --- a/libosmocore.pc.in +++ b/libosmocore.pc.in @@ -7,5 +7,5 @@ Description: C Utility Library Version: @VERSION@ Libs: -L${libdir} @TALLOC_LIBS@ -losmocore -Cflags: -I${includedir}/ @TALLOC_CFLAGS@ - +Libs.private: @PTHREAD_LIBS@ +Cflags: -I${includedir}/ @TALLOC_CFLAGS@ @PTHREAD_CFLAGS@ diff --git a/m4/ax_pthread.m4 b/m4/ax_pthread.m4 new file mode 100644 index 0000000..4920e07 --- /dev/null +++ b/m4/ax_pthread.m4 @@ -0,0 +1,486 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pthread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro figures out how to build C programs using POSIX threads. It +# sets the PTHREAD_LIBS output variable to the threads library and linker +# flags, and the PTHREAD_CFLAGS output variable to any special C compiler +# flags that are needed. (The user can also force certain compiler +# flags/libs to be tested by setting these environment variables.) +# +# Also sets PTHREAD_CC to any special C compiler that is needed for +# multi-threaded programs (defaults to the value of CC otherwise). (This +# is necessary on AIX to use the special cc_r compiler alias.) +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also to link with them as well. For example, you might link with +# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# +# If you are only building threaded programs, you may wish to use these +# variables in your default LIBS, CFLAGS, and CC: +# +# LIBS="$PTHREAD_LIBS $LIBS" +# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CC="$PTHREAD_CC" +# +# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# +# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the +# PTHREAD_PRIO_INHERIT symbol is defined when compiling with +# PTHREAD_CFLAGS. +# +# ACTION-IF-FOUND is a list of shell commands to run if a threads library +# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it +# is not found. If ACTION-IF-FOUND is not specified, the default action +# will define HAVE_PTHREAD. +# +# Please let the authors know if this macro fails on any platform, or if +# you have any other suggestions or comments. This macro was based on work +# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help +# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by +# Alejandro Forero Cuervo to the autoconf macro repository. We are also +# grateful for the helpful feedback of numerous users. +# +# Updated for Autoconf 2.68 by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2011 Daniel Richard G. +# +# 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 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 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 . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 25 + +AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) +AC_DEFUN([AX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) +AC_LANG_PUSH([C]) +ax_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on Tru64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) + AC_MSG_RESULT([$ax_pthread_ok]) + if test "x$ax_pthread_ok" = "xno"; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + + solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags" + ;; +esac + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"]) + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) + +# Are we compiling with Clang? + +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + +ax_pthread_clang_warning=no + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + PTHREAD_CFLAGS="-pthread" + PTHREAD_LIBS= + + ax_pthread_ok=yes + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -mt,pthread) + AC_MSG_CHECKING([whether pthreads work with -mt -lpthread]) + PTHREAD_CFLAGS="-mt" + PTHREAD_LIBS="-lpthread" + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" + ;; + + pthread-config) + AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" + ;; + esac + + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void routine(void *a) { a = 0; } + static void *start_routine(void *a) { return a; }], + [pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */])], + [ax_pthread_ok=yes], + []) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + AC_MSG_RESULT([$ax_pthread_ok]) + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) + + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) + + AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[int i = PTHREAD_PRIO_INHERIT; + return i;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) + ]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $host_os in + aix*) + AS_CASE(["x/$CC"], + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], + [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" + +AC_SUBST([PTHREAD_LIBS]) +AC_SUBST([PTHREAD_CFLAGS]) +AC_SUBST([PTHREAD_CC]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test "x$ax_pthread_ok" = "xyes"; then + ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) + : +else + ax_pthread_ok=no + $2 +fi +AC_LANG_POP +])dnl AX_PTHREAD diff --git a/src/Makefile.am b/src/Makefile.am index 245eb6d..5f5f017 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,7 +4,7 @@ LIBVERSION=14:0:2 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -Wall $(TALLOC_CFLAGS) +AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) if ENABLE_PSEUDOTALLOC AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc @@ -12,7 +12,7 @@ lib_LTLIBRARIES = libosmocore.la -libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) +libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) $(PTHREAD_LIBS) libosmocore_la_SOURCES = context.c timer.c timer_gettimeofday.c timer_clockgettime.c \ select.c signal.c msgb.c bits.c \ bitvec.c bitcomp.c counter.c fsm.c \ 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..b030f8a 100644 --- a/src/logging.c +++ b/src/logging.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -63,6 +64,56 @@ void *tall_log_ctx = NULL; LLIST_HEAD(osmo_log_target_list); +#if (!EMBEDDED) +/*! This mutex must be held while using osmo_log_target_list or any of its + log_targets in a multithread program. Prevents race conditions between threads + like producing unordered timestamps or VTY deleting a target while another + thread is writing to it */ +static pthread_mutex_t osmo_log_tgt_mutex; +static 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. Don't use this function directly, always use + * macro log_tgt_mutex_lock() instead. + */ +void log_tgt_mutex_lock_impl(void) { + /* 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. Don't use this function directly, always use + * macro log_tgt_mutex_unlock() instead. + */ +void log_tgt_mutex_unlock_impl(void) { + if (osmo_log_tgt_mutex_on) + pthread_mutex_unlock(&osmo_log_tgt_mutex); +} + +#else /* if (!EMBEDDED) */ +#pragma message ("logging multithread support disabled in embedded build") +void log_enable_multithread(void) {} +void log_tgt_mutex_lock_impl(void) {} +void log_tgt_mutex_unlock_impl(void) {} +#endif /* if (!EMBEDDED) */ + const struct value_string loglevel_strs[] = { { LOGL_DEBUG, "DEBUG" }, { LOGL_INFO, "INFO" }, @@ -532,6 +583,8 @@ subsys = map_subsys(subsys); + log_tgt_mutex_lock(); + llist_for_each_entry(tar, &osmo_log_target_list, entry) { va_list bp; @@ -548,6 +601,8 @@ _output(tar, subsys, level, file, line, cont, format, bp); va_end(bp); } + + log_tgt_mutex_unlock(); } /*! logging function used by DEBUGP() macro @@ -870,6 +925,7 @@ * \param[in] type Log target type * \param[in] fname File name * \returns Log target (if found), NULL otherwise + * Must be called with mutex osmo_log_tgt_mutex held, see log_tgt_mutex_lock. */ struct log_target *log_target_find(int type, const char *fname) { @@ -942,6 +998,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 +1011,8 @@ } } + log_tgt_mutex_unlock(); + return rc; } @@ -1015,6 +1075,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 +1084,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 +1100,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..88ee330 100644 --- a/src/vty/logging_vty.c +++ b/src/vty/logging_vty.c @@ -101,6 +101,25 @@ return target; } +/*! Get tgt with log lock acquired, return and release lock with warning 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,11 +137,16 @@ 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); } +/*! Get log target associated to VTY console. + * \param[in] vty Log target type + * \returns Log target (if logging enabled), NULL otherwise + * Must be called with mutex osmo_log_tgt_mutex held, see log_tgt_mutex_lock. + */ struct log_target *osmo_log_vty2tgt(struct vty *vty) { struct telnet_connection *conn; @@ -146,13 +170,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 +185,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 +200,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 +216,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 +232,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 +247,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 +263,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 +289,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 +347,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 +376,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 +391,7 @@ cat->enabled = 1; cat->loglevel = level; } - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } /* logging level () everything */ @@ -394,23 +407,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 +453,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 +476,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 +530,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 +546,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 +564,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 +638,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 +647,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 +714,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 +736,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 +745,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 +753,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 +762,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 +777,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 +786,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 +805,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 +820,7 @@ vty->index = tgt; vty->node = CFG_LOG_NODE; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } @@ -812,16 +831,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 +852,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 +862,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 +878,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 +985,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/Makefile.am b/tests/Makefile.am index ececf69..e0993b1 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -Wall $(TALLOC_CFLAGS) +AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) AM_LDFLAGS = -no-install -LDADD = $(top_builddir)/src/libosmocore.la $(TALLOC_LIBS) +LDADD = $(top_builddir)/src/libosmocore.la $(TALLOC_LIBS) $(PTHREAD_LIBS) if ENABLE_SERCOM_STUB noinst_LIBRARIES = libsercomstub.a 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(); diff --git a/utils/Makefile.am b/utils/Makefile.am index fb79190..653b719 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -1,7 +1,7 @@ if ENABLE_UTILITIES AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(TALLOC_CFLAGS) -AM_CFLAGS = -Wall -LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la +AM_CFLAGS = -Wall $(PTHREAD_CFLAGS) +LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la $(PTHREAD_LIBS) EXTRA_DIST = conv_gen.py conv_codes_gsm.py -- 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: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Wed Oct 9 17:14:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:14:02 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_iu_fsm.c: fix: assign timer_cb to 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/+/15718 ) Change subject: gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm ...................................................................... gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm GCC warns us that 'pmm_state_fsm_timer_cb' is defined but not used. This function was introduced in [1], but was not assigned to the FSM. [1] I66c2ac0350cb074aefd9a22c5121acf723f239d3 Change-Id: Ib040befc87b2676aad2b8fe3671404fb3f5b030b --- M src/sgsn/gprs_mm_state_iu_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c index e6b80d7..ea31941 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -140,6 +140,7 @@ .states = mm_state_iu_fsm_states, .num_states = ARRAY_SIZE(mm_state_iu_fsm_states), .event_names = mm_state_iu_fsm_event_names, + .timer_cb = pmm_state_fsm_timer_cb, .log_subsys = DMM, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib040befc87b2676aad2b8fe3671404fb3f5b030b Gerrit-Change-Number: 15718 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Wed Oct 9 17:14:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:14:18 +0000 Subject: Change in ...osmo-pcu[master]: encoding: fix space, tabs In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15717 ) Change subject: encoding: fix space, tabs ...................................................................... encoding: fix space, tabs Change-Id: I80ac88f50bfedfd2b86d548883313b5a187b1e8f --- M src/encoding.cpp 1 file changed, 30 insertions(+), 30 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 8270354..b46f568 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -96,21 +96,21 @@ */ static int write_tfi_usf(bitvec *dest, const gprs_rlcmac_ul_tbf *tbf, uint8_t usf) { - int rc = bitvec_set_u64(dest, tbf->tfi(), 5, false); /* TFI_ASSIGNMENT */ - CHECK(rc); + int rc = bitvec_set_u64(dest, tbf->tfi(), 5, false); /* TFI_ASSIGNMENT */ + CHECK(rc); - SET_0(dest); /* POLLING -- no action is required from MS */ + SET_0(dest); /* POLLING -- no action is required from MS */ - SET_0(dest); + SET_0(dest); - rc = bitvec_set_u64(dest, usf, 3, false); /* USF */ - CHECK(rc); + rc = bitvec_set_u64(dest, usf, 3, false); /* USF */ + CHECK(rc); - SET_0(dest); /* USF_GRANULARITY -- the mobile station shall transmit one RLC/MAC block */ + SET_0(dest); /* USF_GRANULARITY -- the mobile station shall transmit one RLC/MAC block */ - SET_0(dest); /* No P0 nor PR_MODE */ + SET_0(dest); /* No P0 nor PR_MODE */ - return 0; + return 0; } /* { 0 | 1 < TIMING_ADVANCE_INDEX : bit (4) > } */ @@ -201,11 +201,11 @@ rc = write_alpha_gamma(dest, alpha, gamma); CHECK(rc); - rc = bitvec_set_bit(dest, (bit_value)polling); /* POLLING */ + rc = bitvec_set_bit(dest, (bit_value) polling); /* POLLING */ CHECK(rc); /* N. B: NOT related to TAI! */ - rc = bitvec_set_bit(dest, (bit_value)ta_valid); /* TA_VALID */ + rc = bitvec_set_bit(dest, (bit_value) ta_valid); /* TA_VALID */ CHECK(rc); rc = write_ta_index(dest, ta_idx); @@ -215,7 +215,7 @@ SET_1(dest); rc = write_tbf_start_time(dest, fn); CHECK(rc); - } else + } else SET_0(dest); SET_0(dest); /* No P0 nor PR_MODE */ @@ -225,7 +225,7 @@ rc = bitvec_set_u64(dest, enc_ws(tbf->window_size()), 5, false); /* EGPRS Window Size */ CHECK(rc); - /* The mobile station shall not report measurements: (see 3GPP TS 44.060 Table 11.2.7.1) */ + /* The mobile station shall not report measurements: (see 3GPP TS 44.060 Table 11.2.7.1) */ SET_0(dest); SET_0(dest); /* LINK_QUALITY_MEASUREMENT_MODE */ SET_1(dest); /* No BEP_PERIOD2 */ } else @@ -867,16 +867,16 @@ /* static size of 16 bits ..1. .... = ACKNACK: (Union) 0 0000 000 Length - Desc - - ...0 .... = FINAL_ACK_INDICATION: False - - .... 1... = BEGINNING_OF_WINDOW: 1 - - .... .1.. = END_OF_WINDOW: 1 - - .... ..10 0101 0001 1... .... = STARTING_SEQUENCE_NUMBER: 1187 - + Desc + + ...0 .... = FINAL_ACK_INDICATION: False + + .... 1... = BEGINNING_OF_WINDOW: 1 + + .... .1.. = END_OF_WINDOW: 1 + + .... ..10 0101 0001 1... .... = STARTING_SEQUENCE_NUMBER: 1187 + .0.. .... = CRBB Exist: 0 minimal size is 24 rest_bits */ rest_bits -= 24; @@ -1051,15 +1051,15 @@ { unsigned wp = 0; - bitvec_write_field(dest, &wp,0x1,2); // Payload Type - bitvec_write_field(dest, &wp,0x0,3); // No polling - bitvec_write_field(dest, &wp,0x0,3); // Uplink state flag - bitvec_write_field(dest, &wp,0x22,6); // MESSAGE TYPE + bitvec_write_field(dest, &wp, 0x1, 2); // Payload Type + bitvec_write_field(dest, &wp, 0x0, 3); // No polling + bitvec_write_field(dest, &wp, 0x0, 3); // Uplink state flag + bitvec_write_field(dest, &wp, 0x22, 6); // MESSAGE TYPE - bitvec_write_field(dest, &wp,0x0,2); // Page Mode + bitvec_write_field(dest, &wp, 0x0, 2); // Page Mode - bitvec_write_field(dest, &wp,0x0,1); // No PERSISTENCE_LEVEL - bitvec_write_field(dest, &wp,0x0,1); // No NLN + bitvec_write_field(dest, &wp, 0x0, 1); // No PERSISTENCE_LEVEL + bitvec_write_field(dest, &wp, 0x0, 1); // No NLN return wp; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I80ac88f50bfedfd2b86d548883313b5a187b1e8f Gerrit-Change-Number: 15717 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Wed Oct 9 17:14:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:14:27 +0000 Subject: Change in ...osmo-bts[master]: remove dummy UL measurement results for lost sacch frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14762 ) Change subject: remove dummy UL measurement results for lost sacch frames ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfa123f8d02a9d8be1f6de6923fc2a8628020145 Gerrit-Change-Number: 14762 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 17:14: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 Oct 9 17:15:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:15:54 +0000 Subject: Change in ...osmo-bts[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14821 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: roox, any chance you might incorporate review and resubmit? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I00ebf013104b55decbdd7f758756a19b220dc7b3 Gerrit-Change-Number: 14821 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 17:15: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 Wed Oct 9 17:16:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:16:08 +0000 Subject: Change in ...osmo-trx[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14819 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: roox, any chance you might incorporate review and resubmit? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8e0fe9d67d1e1e8dfce319610de63cde170694c5 Gerrit-Change-Number: 14819 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 17:16: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 Wed Oct 9 17:16:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 17:16:21 +0000 Subject: Change in ...osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14818 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: roox, any chance you might incorporate review and resubmit? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I75df25d3bc2ecb4985bf6fefdde6e44b21bffed9 Gerrit-Change-Number: 14818 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 17:16: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 Oct 9 18:26:04 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 18:26:04 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI log context ...................................................................... Patch Set 7: (3 comments) https://gerrit.osmocom.org/#/c/15539/7/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15539/7/src/common/l1sap.c at 319 PS7, Line 319: L1SAP_COMMON_SAPI_PDTCH We may want to check if L1SAP_IS_PTCCH(u32Fn) here, and assign L1SAP_COMMON_SAPI_PTCCH. https://gerrit.osmocom.org/#/c/15539/7/src/common/l1sap.c at 333 PS7, Line 333: L1SAP_IS_PTCCH There can be no DATA.ind on PTCCH, only DATA.req (comes from the PCU). https://gerrit.osmocom.org/#/c/15539/7/src/common/l1sap.c at 338 PS7, Line 338: L1SAP_COMMON_SAPI_RACH Access Bursts can be also sent on PDTCH/U and PTCCH/U. -- 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: 7 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, 09 Oct 2019 18:26:04 +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 Oct 9 18:52:42 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 9 Oct 2019 18:52:42 +0000 Subject: Change in ...osmo-bts[master]: README.md: update osmo-bts-trx specific limitations Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15740 Change subject: README.md: update osmo-bts-trx specific limitations ...................................................................... README.md: update osmo-bts-trx specific limitations The ticket has been closed, BER and C/I measurements are now being sent to OsmoPCU (see Ia58043bd2381a4d34d604522e02899ae64ee0d26). Change-Id: I1909a70b82421802f32c1bc4f69a2e4210db5b2d --- M README.md 1 file changed, 0 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/40/15740/1 diff --git a/README.md b/README.md index 7e26d82..eaff165 100644 --- a/README.md +++ b/README.md @@ -117,8 +117,3 @@ * no clear indication of nominal transmit power, various power related computations are likely off * no OML attribute validation during bts_model_check_oml() - -osmo-bts-trx ------------- - - * No BER value delivered to OsmoPCU (https://osmocom.org/issues/1855) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1909a70b82421802f32c1bc4f69a2e4210db5b2d Gerrit-Change-Number: 15740 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 Oct 9 18:56:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 9 Oct 2019 18:56:45 +0000 Subject: Change in ...osmo-bts[master]: README.md: update osmo-bts-trx specific limitations In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15740 ) Change subject: README.md: update osmo-bts-trx specific limitations ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1909a70b82421802f32c1bc4f69a2e4210db5b2d Gerrit-Change-Number: 15740 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 09 Oct 2019 18:56: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 Oct 9 20:32:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:01 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_ctrl: change from bool to integer argument Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 Change subject: card_uart_ctrl: change from bool to integer argument ...................................................................... card_uart_ctrl: change from bool to integer argument This allows for control functions for e.g. baud rate or waiting time Change-Id: Ifa8dde9dbcd27b79055aaac1a05bb040be616e05 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c 3 files changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/41/15741/1 diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index 895717a..fc3cfb6 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -53,20 +53,20 @@ return cuart->driver->ops->close(cuart); } -int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, int arg) { int rc; OSMO_ASSERT(cuart); OSMO_ASSERT(cuart->driver); OSMO_ASSERT(cuart->driver->ops); OSMO_ASSERT(cuart->driver->ops->ctrl); - rc = cuart->driver->ops->ctrl(cuart, ctl, enable); + rc = cuart->driver->ops->ctrl(cuart, ctl, arg); if (rc < 0) return rc; switch (ctl) { case CUART_CTL_RX: - cuart->rx_enabled = enable; + cuart->rx_enabled = arg ? true : false; break; default: break; diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index 790c277..f35cdd2 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -33,7 +33,7 @@ int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len); int (*async_rx)(struct card_uart *cuart, uint8_t *data, size_t len); - int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); + int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, int arg); }; /* Card UART driver */ @@ -98,7 +98,7 @@ /*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); -int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, int arg); /*! Set the Rx notification threshold in number of bytes received */ void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold); diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c index 3695b58..10ea60f 100644 --- a/ccid_host/cuart_driver_tty.c +++ b/ccid_host/cuart_driver_tty.c @@ -249,7 +249,7 @@ return i; } -static int tty_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +static int tty_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, int arg) { struct termios tio; int rc; @@ -263,7 +263,7 @@ } /* We do our best here, but lots of [USB] serial drivers seem to ignore * CREAD, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ - if (enable) + if (arg) tio.c_cflag |= CREAD; else tio.c_cflag &= ~CREAD; @@ -274,8 +274,8 @@ } break; case CUART_CTL_RST: - _set_rts(cuart->u.tty.ofd.fd, enable); - if (enable) + _set_rts(cuart->u.tty.ofd.fd, arg ? true : false); + if (arg) _flush(cuart->u.tty.ofd.fd); break; case CUART_CTL_POWER: -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 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: Ifa8dde9dbcd27b79055aaac1a05bb040be616e05 Gerrit-Change-Number: 15741 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 Oct 9 20:32:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart: Integrate software WT (waiting time) timer Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 Change subject: cuart: Integrate software WT (waiting time) timer ...................................................................... cuart: Integrate software WT (waiting time) timer Change-Id: If94d7bdca0e5571d4f2f53862fc574c33a05ce43 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c 3 files changed, 53 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/42/15742/1 diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index fc3cfb6..4ea82ba 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -2,6 +2,7 @@ #include #include #include +#include #include "cuart.h" @@ -25,6 +26,34 @@ return NULL; } +/* obtain the current ETU in us */ +static int get_etu_in_us(struct card_uart *cuart) +{ + /* FIXME: actually implement this based on the real baud rate */ + return (1000000/9600); +} + +/* software waiting-time timer has expired */ +static void card_uart_wtime_cb(void *data) +{ + struct card_uart *cuart = (struct card_uart *) data; + card_uart_notification(cuart, CUART_E_RX_TIMEOUT, NULL); + /* should we automatically disable the receiver? */ +} + +void card_uart_wtime_restart(struct card_uart *cuart) +{ + int secs, usecs; + + usecs = get_etu_in_us(cuart) * cuart->wtime_etu; + if (usecs > 1000000) { + secs = usecs / 1000000; + usecs = usecs % 1000000; + } else + secs = 0; + osmo_timer_schedule(&cuart->wtime_tmr, secs, usecs); +} + int card_uart_open(struct card_uart *cuart, const char *driver_name, const char *device_name) { struct card_uart_driver *drv = cuart_drv_by_name(driver_name); @@ -33,8 +62,10 @@ if (!drv) return -ENODEV; + cuart->wtime_etu = 9600; /* ISO 7816-3 Section 8.1 */ cuart->rx_enabled = true; cuart->rx_threshold = 1; + osmo_timer_setup(&cuart->wtime_tmr, card_uart_wtime_cb, cuart); rc = drv->ops->open(cuart, device_name); if (rc < 0) @@ -60,13 +91,19 @@ OSMO_ASSERT(cuart->driver); OSMO_ASSERT(cuart->driver->ops); OSMO_ASSERT(cuart->driver->ops->ctrl); + rc = cuart->driver->ops->ctrl(cuart, ctl, arg); if (rc < 0) return rc; switch (ctl) { + case CUART_CTL_WTIME: + cuart->wtime_etu = arg; + break; case CUART_CTL_RX: cuart->rx_enabled = arg ? true : false; + if (!cuart->rx_enabled) + osmo_timer_del(&cuart->wtime_tmr); break; default: break; diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index f35cdd2..9d56035 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -2,6 +2,7 @@ #include #include #include +#include #include #include "utils_ringbuffer.h" @@ -23,6 +24,7 @@ CUART_CTL_POWER, CUART_CTL_CLOCK, CUART_CTL_RST, + CUART_CTL_WTIME, }; struct card_uart; @@ -65,6 +67,9 @@ * issue CUART_E_RX_SINGLE; if it is > 1, we will issue CUART_E_RX_COMPLETE */ uint32_t rx_threshold; + uint32_t wtime_etu; + struct osmo_timer_list wtime_tmr; + /* driver-specific private data */ union { struct { @@ -103,6 +108,9 @@ /*! Set the Rx notification threshold in number of bytes received */ void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold); +/* (re)start the software WTIME timer */ +void card_uart_wtime_restart(struct card_uart *cuart); + void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data); int card_uart_driver_register(struct card_uart_driver *drv); diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c index 10ea60f..5f635b5 100644 --- a/ccid_host/cuart_driver_tty.c +++ b/ccid_host/cuart_driver_tty.c @@ -143,6 +143,8 @@ if (!cuart->rx_enabled) continue; + card_uart_wtime_restart(cuart); + if (cuart->rx_threshold == 1) { /* bypass ringbuffer and report byte directly */ card_uart_notification(cuart, CUART_E_RX_SINGLE, &buf[i]); @@ -263,9 +265,10 @@ } /* We do our best here, but lots of [USB] serial drivers seem to ignore * CREAD, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ - if (arg) + if (arg) { tio.c_cflag |= CREAD; - else + card_uart_wtime_restart(cuart); + } else tio.c_cflag &= ~CREAD; rc = tcsetattr(cuart->u.tty.ofd.fd, TCSANOW, &tio); if (rc < 0) { @@ -278,6 +281,9 @@ if (arg) _flush(cuart->u.tty.ofd.fd); break; + case CUART_CTL_WTIME: + /* no driver-specific handling of this */ + break; case CUART_CTL_POWER: case CUART_CTL_CLOCK: default: -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 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: If94d7bdca0e5571d4f2f53862fc574c33a05ce43 Gerrit-Change-Number: 15742 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 Oct 9 20:32:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:03 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Allow caller to specify if Rx should be active after Tx Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 Change subject: card_uart_tx: Allow caller to specify if Rx should be active after Tx ...................................................................... card_uart_tx: Allow caller to specify if Rx should be active after Tx This reverts commit 02dd9111635a8adbcd804671695de88f22ffa5ae. Change-Id: Ibe02d283701dbfff5ab47e1b8195369c134cde03 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_common/iso7816_fsm.c M ccid_host/cuart_test.c 4 files changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/43/15743/1 diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index 4ea82ba..9a68167 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -112,7 +112,7 @@ return rc; } -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len) +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete) { OSMO_ASSERT(cuart); OSMO_ASSERT(cuart->driver); @@ -121,6 +121,7 @@ OSMO_ASSERT(!cuart->tx_busy); cuart->tx_busy = true; + cuart->rx_after_tx_compl = rx_after_complete; /* disable receiver to avoid receiving what we transmit */ card_uart_ctrl(cuart, CUART_CTL_RX, false); @@ -150,7 +151,8 @@ case CUART_E_TX_COMPLETE: cuart->tx_busy = false; /* re-enable receiver if we're done with transmit */ - card_uart_ctrl(cuart, CUART_CTL_RX, true); + if (cuart->rx_after_tx_compl) + card_uart_ctrl(cuart, CUART_CTL_RX, true); break; default: break; diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index 9d56035..b94eb2c 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -62,6 +62,8 @@ bool tx_busy; /* is the receiver currently enabled or not? */ bool rx_enabled; + /* should the receiver automatically be nabled after TX completion? */ + bool rx_after_tx_compl; /*! after how many bytes should we notify the user? If this is '1', we will * issue CUART_E_RX_SINGLE; if it is > 1, we will issue CUART_E_RX_COMPLETE */ @@ -98,7 +100,7 @@ int card_uart_close(struct card_uart *cuart); /*! Schedule (asynchronous) transmit data via UART; optionally enable Rx after completion */ -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len); +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); /*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index e173030..b98e2bb 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -829,7 +829,7 @@ tfp->is_command ? "COMMAND" : "RESPONSE", osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); - card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh)); + card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh), true); break; default: OSMO_ASSERT(0); @@ -875,7 +875,7 @@ } else if (byte == tpduh->ins) { if (tfp->is_command) { /* transmit all remaining bytes */ - card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu)); + card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu), true); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); } else { card_uart_set_rx_threshold(ip->uart, tpduh->p3); @@ -886,7 +886,7 @@ if (tfp->is_command) { /* transmit *next*, not first byte */ OSMO_ASSERT(msgb_l3len(tfp->tpdu) >= 0); - card_uart_tx(ip->uart, msgb_l3(tfp->tpdu), 1); + card_uart_tx(ip->uart, msgb_l3(tfp->tpdu), 1, false); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_SINGLE, 0, 0); } else { osmo_fsm_inst_state_chg(fi, TPDU_S_RX_SINGLE, 0, 0); diff --git a/ccid_host/cuart_test.c b/ccid_host/cuart_test.c index d4d8faf..0ed6614 100644 --- a/ccid_host/cuart_test.c +++ b/ccid_host/cuart_test.c @@ -44,7 +44,7 @@ static void test_apdu(void) { const uint8_t select_mf[] = "\xa0\xa4\x04\x00\x02\x3f\x00"; - card_uart_tx(&g_cuart, select_mf, 5); + card_uart_tx(&g_cuart, select_mf, 5, true); osmo_select_main(true); sleep(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 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: Ibe02d283701dbfff5ab47e1b8195369c134cde03 Gerrit-Change-Number: 15743 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 Oct 9 20:32:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:03 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15744 Change subject: cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg ...................................................................... cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg Change-Id: I0b66ed7c037376e4a5a9283cb972012594bc35d2 --- M ccid_host/cuart_fsm_test.c M ccid_host/cuart_test.c 2 files changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/44/15744/1 diff --git a/ccid_host/cuart_fsm_test.c b/ccid_host/cuart_fsm_test.c index 92f3437..1151b34 100644 --- a/ccid_host/cuart_fsm_test.c +++ b/ccid_host/cuart_fsm_test.c @@ -61,7 +61,14 @@ signal(SIGUSR1, &signal_handler); - rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + if (argc < 2) { + fprintf(stderr, "You must specify the UART tty device as argument\n"); + exit(2); + } + + printf("Opening UART device %s\n", argv[1]); + + rc = card_uart_open(&g_cuart, "tty", argv[1]); if (rc < 0) { perror("opening UART"); exit(1); diff --git a/ccid_host/cuart_test.c b/ccid_host/cuart_test.c index 0ed6614..e2b1ce2 100644 --- a/ccid_host/cuart_test.c +++ b/ccid_host/cuart_test.c @@ -58,8 +58,15 @@ uint8_t atr[64]; int rc; + if (argc < 2) { + fprintf(stderr, "You must specify the UART tty device as argument\n"); + exit(2); + } + + printf("Opening UART device %s\n", argv[1]); + g_cuart.handle_event = &handle_event; - rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + rc = card_uart_open(&g_cuart, "tty", argv[1]); if (rc < 0) { perror("opening UART"); exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15744 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: I0b66ed7c037376e4a5a9283cb972012594bc35d2 Gerrit-Change-Number: 15744 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 Oct 9 20:32:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:04 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Allow ATR FSM to always return back to initial state (RE... Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745 Change subject: iso7816_fsm: Allow ATR FSM to always return back to initial state (RESET) ...................................................................... iso7816_fsm: Allow ATR FSM to always return back to initial state (RESET) Change-Id: I71adefadc43bc8f5db7ce043393f9143cd45684f --- M ccid_common/iso7816_fsm.c 1 file changed, 15 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/45/15745/1 diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index b98e2bb..8705ad9 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -659,7 +659,8 @@ [ATR_S_WAIT_T0] = { .name = "WAIT_T0", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TA) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | @@ -671,7 +672,8 @@ [ATR_S_WAIT_TA] = { .name = "WAIT_TA", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TB) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | @@ -682,7 +684,8 @@ [ATR_S_WAIT_TB] = { .name = "WAIT_TB", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TC) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | S(ATR_S_WAIT_TCK) | @@ -692,7 +695,8 @@ [ATR_S_WAIT_TC] = { .name = "WAIT_TC", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TD) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | S(ATR_S_WAIT_TCK) | S(ATR_S_WAIT_T0), @@ -701,7 +705,8 @@ [ATR_S_WAIT_TD] = { .name = "WAIT_TD", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TA) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | @@ -713,20 +718,22 @@ [ATR_S_WAIT_HIST] = { .name = "WAIT_HIST", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TCK) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TCK) | S(ATR_S_WAIT_T0), .action = atr_wait_tX_action, }, [ATR_S_WAIT_TCK] = { .name = "WAIT_TCK", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_DONE), + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_DONE), .action = atr_wait_tX_action, }, [ATR_S_DONE] = { .name = "DONE", .in_event_mask = 0, - .out_state_mask = S(ATR_S_WAIT_T0), + .out_state_mask = S(ATR_S_WAIT_TS), //.action = atr_done_action, }, -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745 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: I71adefadc43bc8f5db7ce043393f9143cd45684f Gerrit-Change-Number: 15745 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 Oct 9 20:32:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:04 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Handle WTIME expiry during ATR reception Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 Change subject: iso7816_fsm: Handle WTIME expiry during ATR reception ...................................................................... iso7816_fsm: Handle WTIME expiry during ATR reception There are some cards that state a wrong length of the historical bytes in their ATR header, resulting in WTIME expiry. Let's dispatch ISO7816_E_WTIME_EXP into the ATR FSM and treat it as normal ATR_DONE if it happens during rx of historical bytes or TCK. Also introdcue an ISO7816_E_ATR_ERR_IND for those situations where waiting time expiration occurs during reception of TS/T0/TA/TB/TC/TD bytes. Change-Id: I62d47cb5e06b480941c67122f3c7d7a462ea2099 --- M ccid_common/iso7816_fsm.c M ccid_common/iso7816_fsm.h 2 files changed, 58 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/46/15746/1 diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index 8705ad9..af7892c 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -141,6 +141,7 @@ { ISO7816_E_RX_ERR_IND, "RX_ERR_IND" }, { ISO7816_E_TX_ERR_IND, "TX_ERR_IND" }, { ISO7816_E_ATR_DONE_IND, "ATR_DONE_IND" }, + { ISO7816_E_ATR_ERR_IND, "ATR_ERR_IND" }, { ISO7816_E_TPDU_DONE_IND, "TPDU_DONE_IND" }, { ISO7816_E_XCEIVE_TPDU_CMD, "XCEIVE_TPDU_CMD" }, /* allstate events */ @@ -251,6 +252,10 @@ osmo_fsm_inst_state_chg(fi, ISO7816_S_IN_ATR, 0, 0); osmo_fsm_inst_dispatch(ip->atr_fi, event, data); break; + case ISO7816_E_WTIME_EXP: + ip->user_cb(fi, event, 0, NULL); + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; default: OSMO_ASSERT(0); } @@ -265,6 +270,7 @@ switch (event) { case ISO7816_E_RX_SINGLE: case ISO7816_E_RX_ERR_IND: + case ISO7816_E_WTIME_EXP: /* simply pass this through to the child FSM for the ATR */ osmo_fsm_inst_dispatch(ip->atr_fi, event, data); break; @@ -275,6 +281,10 @@ /* notify user about ATR */ ip->user_cb(fi, event, 0, atr); break; + case ISO7816_E_ATR_ERR_IND: + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + ip->user_cb(fi, event, 0, atr); + break; default: OSMO_ASSERT(0); } @@ -326,6 +336,10 @@ /* hand finished TPDU to user */ ip->user_cb(fi, event, 0, apdu); break; + case ISO7816_E_WTIME_EXP: + /* FIXME: power off? */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; default: OSMO_ASSERT(0); } @@ -336,7 +350,6 @@ OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); switch (event) { - case ISO7816_E_WTIME_EXP: case ISO7816_E_HW_ERR_IND: case ISO7816_E_CARD_REMOVAL: /* FIXME: power off? */ @@ -366,7 +379,8 @@ }, [ISO7816_S_WAIT_ATR] = { .name = "WAIT_ATR", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ISO7816_S_RESET) | S(ISO7816_S_IN_ATR), .action = iso7816_3_wait_atr_action, @@ -375,7 +389,9 @@ .name = "IN_ATR", .in_event_mask = S(ISO7816_E_RX_SINGLE) | S(ISO7816_E_RX_ERR_IND) | - S(ISO7816_E_ATR_DONE_IND), + S(ISO7816_E_ATR_DONE_IND) | + S(ISO7816_E_ATR_ERR_IND) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ISO7816_S_RESET) | S(ISO7816_S_IN_ATR) | S(ISO7816_S_WAIT_TPDU), @@ -398,7 +414,8 @@ S(ISO7816_E_TX_COMPL) | S(ISO7816_E_RX_ERR_IND) | S(ISO7816_E_TX_ERR_IND) | - S(ISO7816_E_TPDU_DONE_IND), + S(ISO7816_E_TPDU_DONE_IND) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ISO7816_S_RESET) | S(ISO7816_S_WAIT_TPDU) | S(ISO7816_S_IN_TPDU), @@ -435,8 +452,7 @@ .log_subsys = DISO7816, .event_names = iso7816_3_event_names, .allstate_action = iso7816_3_allstate_action, - .allstate_event_mask = S(ISO7816_E_WTIME_EXP) | - S(ISO7816_E_CARD_REMOVAL) | + .allstate_event_mask = S(ISO7816_E_CARD_REMOVAL) | S(ISO7816_E_POWER_DN_IND) | S(ISO7816_E_RESET_ACT_IND) | S(ISO7816_E_HW_ERR_IND) | @@ -550,6 +566,9 @@ } atp->i = 0; /* first interface byte sub-group is coming (T0 is kind of TD0) */ break; + case ISO7816_E_WTIME_EXP: + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_ERR_IND, NULL); + break; default: OSMO_ASSERT(0); } @@ -642,6 +661,20 @@ OSMO_ASSERT(0); } break; + case ISO7816_E_WTIME_EXP: + switch (fi->state) { + case ATR_S_WAIT_HIST: + case ATR_S_WAIT_TCK: + /* Some cards have an ATR with long indication of historical bytes */ + /* FIXME: should we check the checksum? */ + osmo_fsm_inst_state_chg(fi, ATR_S_DONE, 0, 0); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_DONE_IND, atp->atr); + break; + default: + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_ERR_IND, NULL); + break; + } + break; default: OSMO_ASSERT(0); } @@ -650,7 +683,8 @@ static const struct osmo_fsm_state atr_states[] = { [ATR_S_WAIT_TS] = { .name = "WAIT_TS", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_T0), .action = atr_wait_ts_action, @@ -658,7 +692,8 @@ }, [ATR_S_WAIT_T0] = { .name = "WAIT_T0", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | @@ -671,7 +706,8 @@ }, [ATR_S_WAIT_TA] = { .name = "WAIT_TA", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | @@ -683,7 +719,8 @@ }, [ATR_S_WAIT_TB] = { .name = "WAIT_TB", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | @@ -694,7 +731,8 @@ }, [ATR_S_WAIT_TC] = { .name = "WAIT_TC", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | @@ -704,7 +742,8 @@ }, [ATR_S_WAIT_TD] = { .name = "WAIT_TD", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | @@ -717,15 +756,18 @@ }, [ATR_S_WAIT_HIST] = { .name = "WAIT_HIST", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TCK) | - S(ATR_S_WAIT_T0), + S(ATR_S_WAIT_T0) | + S(ATR_S_DONE), .action = atr_wait_tX_action, }, [ATR_S_WAIT_TCK] = { .name = "WAIT_TCK", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_DONE), .action = atr_wait_tX_action, diff --git a/ccid_common/iso7816_fsm.h b/ccid_common/iso7816_fsm.h index 9a6b24e..f2c7483 100644 --- a/ccid_common/iso7816_fsm.h +++ b/ccid_common/iso7816_fsm.h @@ -27,6 +27,7 @@ /* internal events between FSMs in this file */ ISO7816_E_ATR_DONE_IND, /*!< ATR Done indication from ATR child FSM */ + ISO7816_E_ATR_ERR_IND, /*!< ATR Error indication from ATR child FSM */ ISO7816_E_TPDU_DONE_IND, /*!< TPDU Done indication from TPDU child FSM */ ISO7816_E_TPDU_CLEAR_REQ, /*!< Return TPDU FSM to TPDU_S_INIT */ }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 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: I62d47cb5e06b480941c67122f3c7d7a462ea2099 Gerrit-Change-Number: 15746 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 Oct 9 20:32:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:04 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 Change subject: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state ...................................................................... iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state Change-Id: Iab58c2ffba935152450f965338599cbaabb4662b --- M ccid_common/iso7816_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/47/15747/1 diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index af7892c..21378e0 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -294,6 +294,7 @@ { struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + card_uart_ctrl(ip->uart, CUART_CTL_RX, false); /* reset the TPDU state machine */ osmo_fsm_inst_dispatch(ip->tpdu_fi, ISO7816_E_TPDU_CLEAR_REQ, NULL); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 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: Iab58c2ffba935152450f965338599cbaabb4662b Gerrit-Change-Number: 15747 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 Oct 9 20:32:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:29 +0000 Subject: Change in ...osmo-bts[master]: README.md: update osmo-bts-trx specific limitations In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15740 ) Change subject: README.md: update osmo-bts-trx specific limitations ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1909a70b82421802f32c1bc4f69a2e4210db5b2d Gerrit-Change-Number: 15740 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 09 Oct 2019 20:32: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 Oct 9 20:32:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:32:30 +0000 Subject: Change in ...osmo-bts[master]: README.md: update osmo-bts-trx specific limitations In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15740 ) Change subject: README.md: update osmo-bts-trx specific limitations ...................................................................... README.md: update osmo-bts-trx specific limitations The ticket has been closed, BER and C/I measurements are now being sent to OsmoPCU (see Ia58043bd2381a4d34d604522e02899ae64ee0d26). Change-Id: I1909a70b82421802f32c1bc4f69a2e4210db5b2d --- M README.md 1 file changed, 0 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/README.md b/README.md index 7e26d82..eaff165 100644 --- a/README.md +++ b/README.md @@ -117,8 +117,3 @@ * no clear indication of nominal transmit power, various power related computations are likely off * no OML attribute validation during bts_model_check_oml() - -osmo-bts-trx ------------- - - * No BER value delivered to OsmoPCU (https://osmocom.org/issues/1855) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1909a70b82421802f32c1bc4f69a2e4210db5b2d Gerrit-Change-Number: 15740 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 Wed Oct 9 20:36:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:36:38 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15744 ) Change subject: cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15744 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: I0b66ed7c037376e4a5a9283cb972012594bc35d2 Gerrit-Change-Number: 15744 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 20: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 Wed Oct 9 20:37:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:37:59 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Allow caller to specify if Rx should be active after Tx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 ) Change subject: card_uart_tx: Allow caller to specify if Rx should be active after Tx ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 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: Ibe02d283701dbfff5ab47e1b8195369c134cde03 Gerrit-Change-Number: 15743 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 20:37: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 Wed Oct 9 20:38:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:38:04 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart: Integrate software WT (waiting time) timer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 ) Change subject: cuart: Integrate software WT (waiting time) timer ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 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: If94d7bdca0e5571d4f2f53862fc574c33a05ce43 Gerrit-Change-Number: 15742 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 20:38: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 Wed Oct 9 20:38:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:38:08 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_ctrl: change from bool to integer argument In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 ) Change subject: card_uart_ctrl: change from bool to integer argument ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 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: Ifa8dde9dbcd27b79055aaac1a05bb040be616e05 Gerrit-Change-Number: 15741 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 20:38: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 Oct 9 20:38:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:38:27 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Allow ATR FSM to always return back to initial state (RE... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745 ) Change subject: iso7816_fsm: Allow ATR FSM to always return back to initial state (RESET) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745 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: I71adefadc43bc8f5db7ce043393f9143cd45684f Gerrit-Change-Number: 15745 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 20:38: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 Oct 9 20:38:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:38:54 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Handle WTIME expiry during ATR reception In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 ) Change subject: iso7816_fsm: Handle WTIME expiry during ATR reception ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 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: I62d47cb5e06b480941c67122f3c7d7a462ea2099 Gerrit-Change-Number: 15746 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 20:38: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 Wed Oct 9 20:39:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:39:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 ) Change subject: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 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: Iab58c2ffba935152450f965338599cbaabb4662b Gerrit-Change-Number: 15747 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 09 Oct 2019 20:39: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 Oct 9 20:39:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 9 Oct 2019 20:39:24 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: laforge has removed a vote on this change. Change subject: log: set L1 SAPI log context ...................................................................... Removed Code-Review+1 by laforge -- 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: 7 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: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Oct 10 01:46:26 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 10 Oct 2019 01:46:26 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5d9e8d7a17d21_70312ac9e457c5f040633a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 74s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18304 timestamp=847016806 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18305 timestamp=847016966 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18306 timestamp=847017126 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18307 timestamp=847017286 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18308 timestamp=847017446 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] sys={28.604242}, mono={5.180000}: clock_override_add [ 74s] -sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18309 timestamp=847017606 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 74s] sys={28.624242}, mono={5.200000}: clock_override_add [ 74s] sys={28.624242}, mono={5.200000}: OK: Test passed [ 74s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) [ 74s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 74s] make[1]: *** [override_dh_auto_test] Error 1 [ 74s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 74s] debian/rules:13: recipe for target 'build' failed [ 74s] make: *** [build] Error 2 [ 74s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 74s] [ 74s] build80 failed "build libosmo-netif_0.6.0.9.77ba.dsc" at Thu Oct 10 01:46:11 UTC 2019. [ 74s] [ 74s] ### VM INTERACTION START ### [ 75s] Powering off. [ 75s] [ 67.166349] reboot: Power down [ 75s] ### VM INTERACTION END ### [ 75s] [ 75s] build80 failed "build libosmo-netif_0.6.0.9.77ba.dsc" at Thu Oct 10 01:46:12 UTC 2019. [ 75s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 10 01:58:43 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 10 Oct 2019 01:58:43 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5d9e9064d880c_70312ac9e457c5f0410851@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: [ 133s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18304 timestamp=847016806 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18305 timestamp=847016966 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18306 timestamp=847017126 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18307 timestamp=847017286 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18308 timestamp=847017446 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] sys={28.604242}, mono={5.180000}: clock_override_add [ 133s] -sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18309 timestamp=847017606 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 133s] sys={28.624242}, mono={5.200000}: clock_override_add [ 133s] sys={28.624242}, mono={5.200000}: OK: Test passed [ 133s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) [ 133s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 133s] make[1]: *** [override_dh_auto_test] Error 1 [ 133s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 133s] debian/rules:13: recipe for target 'build' failed [ 133s] make: *** [build] Error 2 [ 133s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 133s] [ 133s] morla3 failed "build libosmo-netif_0.6.0.9.77ba.dsc" at Thu Oct 10 01:58:27 UTC 2019. [ 133s] [ 133s] ### VM INTERACTION START ### [ 134s] Powering off. [ 134s] [ 119.650214] reboot: Power down [ 134s] ### VM INTERACTION END ### [ 134s] [ 134s] morla3 failed "build libosmo-netif_0.6.0.9.77ba.dsc" at Thu Oct 10 01:58:29 UTC 2019. [ 134s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 10 02:43:35 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 10 Oct 2019 02:43:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9e9af3ca8a0_70312ac9e457c5f0421190@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: [ 419s] ar: `u' modifier ignored since `D' is the default (see `U') [ 419s] 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 -pthread -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++ -pthread -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 -pthread [ 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 [ 420s] [ 420s] morla5 failed "build osmo-trx_1.1.1.30.92814.dsc" at Thu Oct 10 02:43:22 UTC 2019. [ 420s] [ 420s] ### VM INTERACTION START ### [ 423s] [ 404.197256] sysrq: SysRq : Power Off [ 423s] [ 404.205908] reboot: Power down [ 423s] ### VM INTERACTION END ### [ 423s] [ 423s] morla5 failed "build osmo-trx_1.1.1.30.92814.dsc" at Thu Oct 10 02:43:26 UTC 2019. [ 423s] -- 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 Oct 10 09:23:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_ctrl: change from bool to integer argument In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 ) Change subject: card_uart_ctrl: change from bool to integer argument ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 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: Ifa8dde9dbcd27b79055aaac1a05bb040be616e05 Gerrit-Change-Number: 15741 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 09:23: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 Thu Oct 10 09:23:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:25 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart: Integrate software WT (waiting time) timer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 ) Change subject: cuart: Integrate software WT (waiting time) timer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 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: If94d7bdca0e5571d4f2f53862fc574c33a05ce43 Gerrit-Change-Number: 15742 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 09:23: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 Oct 10 09:23:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:27 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Allow caller to specify if Rx should be active after Tx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 ) Change subject: card_uart_tx: Allow caller to specify if Rx should be active after Tx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 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: Ibe02d283701dbfff5ab47e1b8195369c134cde03 Gerrit-Change-Number: 15743 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 09:23: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 Oct 10 09:23:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:32 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Handle WTIME expiry during ATR reception In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 ) Change subject: iso7816_fsm: Handle WTIME expiry during ATR reception ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 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: I62d47cb5e06b480941c67122f3c7d7a462ea2099 Gerrit-Change-Number: 15746 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 09:23: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 Thu Oct 10 09:23:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:34 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 ) Change subject: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 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: Iab58c2ffba935152450f965338599cbaabb4662b Gerrit-Change-Number: 15747 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 09: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 Oct 10 09:23:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:35 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_ctrl: change from bool to integer argument In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 ) Change subject: card_uart_ctrl: change from bool to integer argument ...................................................................... card_uart_ctrl: change from bool to integer argument This allows for control functions for e.g. baud rate or waiting time Change-Id: Ifa8dde9dbcd27b79055aaac1a05bb040be616e05 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c 3 files changed, 9 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index 895717a..fc3cfb6 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -53,20 +53,20 @@ return cuart->driver->ops->close(cuart); } -int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, int arg) { int rc; OSMO_ASSERT(cuart); OSMO_ASSERT(cuart->driver); OSMO_ASSERT(cuart->driver->ops); OSMO_ASSERT(cuart->driver->ops->ctrl); - rc = cuart->driver->ops->ctrl(cuart, ctl, enable); + rc = cuart->driver->ops->ctrl(cuart, ctl, arg); if (rc < 0) return rc; switch (ctl) { case CUART_CTL_RX: - cuart->rx_enabled = enable; + cuart->rx_enabled = arg ? true : false; break; default: break; diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index 790c277..f35cdd2 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -33,7 +33,7 @@ int (*async_tx)(struct card_uart *cuart, const uint8_t *data, size_t len); int (*async_rx)(struct card_uart *cuart, uint8_t *data, size_t len); - int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); + int (*ctrl)(struct card_uart *cuart, enum card_uart_ctl ctl, int arg); }; /* Card UART driver */ @@ -98,7 +98,7 @@ /*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); -int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable); +int card_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, int arg); /*! Set the Rx notification threshold in number of bytes received */ void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold); diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c index 3695b58..10ea60f 100644 --- a/ccid_host/cuart_driver_tty.c +++ b/ccid_host/cuart_driver_tty.c @@ -249,7 +249,7 @@ return i; } -static int tty_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, bool enable) +static int tty_uart_ctrl(struct card_uart *cuart, enum card_uart_ctl ctl, int arg) { struct termios tio; int rc; @@ -263,7 +263,7 @@ } /* We do our best here, but lots of [USB] serial drivers seem to ignore * CREAD, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ - if (enable) + if (arg) tio.c_cflag |= CREAD; else tio.c_cflag &= ~CREAD; @@ -274,8 +274,8 @@ } break; case CUART_CTL_RST: - _set_rts(cuart->u.tty.ofd.fd, enable); - if (enable) + _set_rts(cuart->u.tty.ofd.fd, arg ? true : false); + if (arg) _flush(cuart->u.tty.ofd.fd); break; case CUART_CTL_POWER: -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15741 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: Ifa8dde9dbcd27b79055aaac1a05bb040be616e05 Gerrit-Change-Number: 15741 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 Oct 10 09:23:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:35 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart: Integrate software WT (waiting time) timer In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 ) Change subject: cuart: Integrate software WT (waiting time) timer ...................................................................... cuart: Integrate software WT (waiting time) timer Change-Id: If94d7bdca0e5571d4f2f53862fc574c33a05ce43 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c 3 files changed, 53 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index fc3cfb6..4ea82ba 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -2,6 +2,7 @@ #include #include #include +#include #include "cuart.h" @@ -25,6 +26,34 @@ return NULL; } +/* obtain the current ETU in us */ +static int get_etu_in_us(struct card_uart *cuart) +{ + /* FIXME: actually implement this based on the real baud rate */ + return (1000000/9600); +} + +/* software waiting-time timer has expired */ +static void card_uart_wtime_cb(void *data) +{ + struct card_uart *cuart = (struct card_uart *) data; + card_uart_notification(cuart, CUART_E_RX_TIMEOUT, NULL); + /* should we automatically disable the receiver? */ +} + +void card_uart_wtime_restart(struct card_uart *cuart) +{ + int secs, usecs; + + usecs = get_etu_in_us(cuart) * cuart->wtime_etu; + if (usecs > 1000000) { + secs = usecs / 1000000; + usecs = usecs % 1000000; + } else + secs = 0; + osmo_timer_schedule(&cuart->wtime_tmr, secs, usecs); +} + int card_uart_open(struct card_uart *cuart, const char *driver_name, const char *device_name) { struct card_uart_driver *drv = cuart_drv_by_name(driver_name); @@ -33,8 +62,10 @@ if (!drv) return -ENODEV; + cuart->wtime_etu = 9600; /* ISO 7816-3 Section 8.1 */ cuart->rx_enabled = true; cuart->rx_threshold = 1; + osmo_timer_setup(&cuart->wtime_tmr, card_uart_wtime_cb, cuart); rc = drv->ops->open(cuart, device_name); if (rc < 0) @@ -60,13 +91,19 @@ OSMO_ASSERT(cuart->driver); OSMO_ASSERT(cuart->driver->ops); OSMO_ASSERT(cuart->driver->ops->ctrl); + rc = cuart->driver->ops->ctrl(cuart, ctl, arg); if (rc < 0) return rc; switch (ctl) { + case CUART_CTL_WTIME: + cuart->wtime_etu = arg; + break; case CUART_CTL_RX: cuart->rx_enabled = arg ? true : false; + if (!cuart->rx_enabled) + osmo_timer_del(&cuart->wtime_tmr); break; default: break; diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index f35cdd2..9d56035 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -2,6 +2,7 @@ #include #include #include +#include #include #include "utils_ringbuffer.h" @@ -23,6 +24,7 @@ CUART_CTL_POWER, CUART_CTL_CLOCK, CUART_CTL_RST, + CUART_CTL_WTIME, }; struct card_uart; @@ -65,6 +67,9 @@ * issue CUART_E_RX_SINGLE; if it is > 1, we will issue CUART_E_RX_COMPLETE */ uint32_t rx_threshold; + uint32_t wtime_etu; + struct osmo_timer_list wtime_tmr; + /* driver-specific private data */ union { struct { @@ -103,6 +108,9 @@ /*! Set the Rx notification threshold in number of bytes received */ void card_uart_set_rx_threshold(struct card_uart *cuart, size_t rx_threshold); +/* (re)start the software WTIME timer */ +void card_uart_wtime_restart(struct card_uart *cuart); + void card_uart_notification(struct card_uart *cuart, enum card_uart_event evt, void *data); int card_uart_driver_register(struct card_uart_driver *drv); diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c index 10ea60f..5f635b5 100644 --- a/ccid_host/cuart_driver_tty.c +++ b/ccid_host/cuart_driver_tty.c @@ -143,6 +143,8 @@ if (!cuart->rx_enabled) continue; + card_uart_wtime_restart(cuart); + if (cuart->rx_threshold == 1) { /* bypass ringbuffer and report byte directly */ card_uart_notification(cuart, CUART_E_RX_SINGLE, &buf[i]); @@ -263,9 +265,10 @@ } /* We do our best here, but lots of [USB] serial drivers seem to ignore * CREAD, see https://bugzilla.kernel.org/show_bug.cgi?id=205033 */ - if (arg) + if (arg) { tio.c_cflag |= CREAD; - else + card_uart_wtime_restart(cuart); + } else tio.c_cflag &= ~CREAD; rc = tcsetattr(cuart->u.tty.ofd.fd, TCSANOW, &tio); if (rc < 0) { @@ -278,6 +281,9 @@ if (arg) _flush(cuart->u.tty.ofd.fd); break; + case CUART_CTL_WTIME: + /* no driver-specific handling of this */ + break; case CUART_CTL_POWER: case CUART_CTL_CLOCK: default: -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15742 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: If94d7bdca0e5571d4f2f53862fc574c33a05ce43 Gerrit-Change-Number: 15742 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 Oct 10 09:23:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:36 +0000 Subject: Change in ...osmo-ccid-firmware[master]: card_uart_tx: Allow caller to specify if Rx should be active after Tx In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 ) Change subject: card_uart_tx: Allow caller to specify if Rx should be active after Tx ...................................................................... card_uart_tx: Allow caller to specify if Rx should be active after Tx This reverts commit 02dd9111635a8adbcd804671695de88f22ffa5ae. Change-Id: Ibe02d283701dbfff5ab47e1b8195369c134cde03 --- M ccid_common/cuart.c M ccid_common/cuart.h M ccid_common/iso7816_fsm.c M ccid_host/cuart_test.c 4 files changed, 11 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index 4ea82ba..9a68167 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -112,7 +112,7 @@ return rc; } -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len) +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete) { OSMO_ASSERT(cuart); OSMO_ASSERT(cuart->driver); @@ -121,6 +121,7 @@ OSMO_ASSERT(!cuart->tx_busy); cuart->tx_busy = true; + cuart->rx_after_tx_compl = rx_after_complete; /* disable receiver to avoid receiving what we transmit */ card_uart_ctrl(cuart, CUART_CTL_RX, false); @@ -150,7 +151,8 @@ case CUART_E_TX_COMPLETE: cuart->tx_busy = false; /* re-enable receiver if we're done with transmit */ - card_uart_ctrl(cuart, CUART_CTL_RX, true); + if (cuart->rx_after_tx_compl) + card_uart_ctrl(cuart, CUART_CTL_RX, true); break; default: break; diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index 9d56035..b94eb2c 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -62,6 +62,8 @@ bool tx_busy; /* is the receiver currently enabled or not? */ bool rx_enabled; + /* should the receiver automatically be nabled after TX completion? */ + bool rx_after_tx_compl; /*! after how many bytes should we notify the user? If this is '1', we will * issue CUART_E_RX_SINGLE; if it is > 1, we will issue CUART_E_RX_COMPLETE */ @@ -98,7 +100,7 @@ int card_uart_close(struct card_uart *cuart); /*! Schedule (asynchronous) transmit data via UART; optionally enable Rx after completion */ -int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len); +int card_uart_tx(struct card_uart *cuart, const uint8_t *data, size_t len, bool rx_after_complete); /*! Schedule (asynchronous) receive data via UART (after CUART_E_RX_COMPLETE) */ int card_uart_rx(struct card_uart *cuart, uint8_t *data, size_t len); diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index e173030..b98e2bb 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -829,7 +829,7 @@ tfp->is_command ? "COMMAND" : "RESPONSE", osmo_hexdump_nospc((uint8_t *) tpduh, sizeof(*tpduh))); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_HDR, 0, 0); - card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh)); + card_uart_tx(ip->uart, (uint8_t *) tpduh, sizeof(*tpduh), true); break; default: OSMO_ASSERT(0); @@ -875,7 +875,7 @@ } else if (byte == tpduh->ins) { if (tfp->is_command) { /* transmit all remaining bytes */ - card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu)); + card_uart_tx(ip->uart, msgb_l2(tfp->tpdu), msgb_l2len(tfp->tpdu), true); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_REMAINING, 0, 0); } else { card_uart_set_rx_threshold(ip->uart, tpduh->p3); @@ -886,7 +886,7 @@ if (tfp->is_command) { /* transmit *next*, not first byte */ OSMO_ASSERT(msgb_l3len(tfp->tpdu) >= 0); - card_uart_tx(ip->uart, msgb_l3(tfp->tpdu), 1); + card_uart_tx(ip->uart, msgb_l3(tfp->tpdu), 1, false); osmo_fsm_inst_state_chg(fi, TPDU_S_TX_SINGLE, 0, 0); } else { osmo_fsm_inst_state_chg(fi, TPDU_S_RX_SINGLE, 0, 0); diff --git a/ccid_host/cuart_test.c b/ccid_host/cuart_test.c index d4d8faf..0ed6614 100644 --- a/ccid_host/cuart_test.c +++ b/ccid_host/cuart_test.c @@ -44,7 +44,7 @@ static void test_apdu(void) { const uint8_t select_mf[] = "\xa0\xa4\x04\x00\x02\x3f\x00"; - card_uart_tx(&g_cuart, select_mf, 5); + card_uart_tx(&g_cuart, select_mf, 5, true); osmo_select_main(true); sleep(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15743 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: Ibe02d283701dbfff5ab47e1b8195369c134cde03 Gerrit-Change-Number: 15743 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 Oct 10 09:23:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:36 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15744 ) Change subject: cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg ...................................................................... cuart_[fsm]_test: Avoid hard-coded 'ttyUSB5'; use command line arg Change-Id: I0b66ed7c037376e4a5a9283cb972012594bc35d2 --- M ccid_host/cuart_fsm_test.c M ccid_host/cuart_test.c 2 files changed, 16 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ccid_host/cuart_fsm_test.c b/ccid_host/cuart_fsm_test.c index 92f3437..1151b34 100644 --- a/ccid_host/cuart_fsm_test.c +++ b/ccid_host/cuart_fsm_test.c @@ -61,7 +61,14 @@ signal(SIGUSR1, &signal_handler); - rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + if (argc < 2) { + fprintf(stderr, "You must specify the UART tty device as argument\n"); + exit(2); + } + + printf("Opening UART device %s\n", argv[1]); + + rc = card_uart_open(&g_cuart, "tty", argv[1]); if (rc < 0) { perror("opening UART"); exit(1); diff --git a/ccid_host/cuart_test.c b/ccid_host/cuart_test.c index 0ed6614..e2b1ce2 100644 --- a/ccid_host/cuart_test.c +++ b/ccid_host/cuart_test.c @@ -58,8 +58,15 @@ uint8_t atr[64]; int rc; + if (argc < 2) { + fprintf(stderr, "You must specify the UART tty device as argument\n"); + exit(2); + } + + printf("Opening UART device %s\n", argv[1]); + g_cuart.handle_event = &handle_event; - rc = card_uart_open(&g_cuart, "tty", "/dev/ttyUSB5"); + rc = card_uart_open(&g_cuart, "tty", argv[1]); if (rc < 0) { perror("opening UART"); exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15744 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: I0b66ed7c037376e4a5a9283cb972012594bc35d2 Gerrit-Change-Number: 15744 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 Oct 10 09:23:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:36 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Allow ATR FSM to always return back to initial state (RE... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745 ) Change subject: iso7816_fsm: Allow ATR FSM to always return back to initial state (RESET) ...................................................................... iso7816_fsm: Allow ATR FSM to always return back to initial state (RESET) Change-Id: I71adefadc43bc8f5db7ce043393f9143cd45684f --- M ccid_common/iso7816_fsm.c 1 file changed, 15 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index b98e2bb..8705ad9 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -659,7 +659,8 @@ [ATR_S_WAIT_T0] = { .name = "WAIT_T0", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TA) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | @@ -671,7 +672,8 @@ [ATR_S_WAIT_TA] = { .name = "WAIT_TA", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TB) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | @@ -682,7 +684,8 @@ [ATR_S_WAIT_TB] = { .name = "WAIT_TB", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TC) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | S(ATR_S_WAIT_TCK) | @@ -692,7 +695,8 @@ [ATR_S_WAIT_TC] = { .name = "WAIT_TC", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TD) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | S(ATR_S_WAIT_TCK) | S(ATR_S_WAIT_T0), @@ -701,7 +705,8 @@ [ATR_S_WAIT_TD] = { .name = "WAIT_TD", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TA) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | @@ -713,20 +718,22 @@ [ATR_S_WAIT_HIST] = { .name = "WAIT_HIST", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_WAIT_TCK) | + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_WAIT_TCK) | S(ATR_S_WAIT_T0), .action = atr_wait_tX_action, }, [ATR_S_WAIT_TCK] = { .name = "WAIT_TCK", .in_event_mask = S(ISO7816_E_RX_SINGLE), - .out_state_mask = S(ATR_S_DONE), + .out_state_mask = S(ATR_S_WAIT_TS) | + S(ATR_S_DONE), .action = atr_wait_tX_action, }, [ATR_S_DONE] = { .name = "DONE", .in_event_mask = 0, - .out_state_mask = S(ATR_S_WAIT_T0), + .out_state_mask = S(ATR_S_WAIT_TS), //.action = atr_done_action, }, -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745 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: I71adefadc43bc8f5db7ce043393f9143cd45684f Gerrit-Change-Number: 15745 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 Oct 10 09:23:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:36 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Handle WTIME expiry during ATR reception In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 ) Change subject: iso7816_fsm: Handle WTIME expiry during ATR reception ...................................................................... iso7816_fsm: Handle WTIME expiry during ATR reception There are some cards that state a wrong length of the historical bytes in their ATR header, resulting in WTIME expiry. Let's dispatch ISO7816_E_WTIME_EXP into the ATR FSM and treat it as normal ATR_DONE if it happens during rx of historical bytes or TCK. Also introdcue an ISO7816_E_ATR_ERR_IND for those situations where waiting time expiration occurs during reception of TS/T0/TA/TB/TC/TD bytes. Change-Id: I62d47cb5e06b480941c67122f3c7d7a462ea2099 --- M ccid_common/iso7816_fsm.c M ccid_common/iso7816_fsm.h 2 files changed, 58 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index 8705ad9..af7892c 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -141,6 +141,7 @@ { ISO7816_E_RX_ERR_IND, "RX_ERR_IND" }, { ISO7816_E_TX_ERR_IND, "TX_ERR_IND" }, { ISO7816_E_ATR_DONE_IND, "ATR_DONE_IND" }, + { ISO7816_E_ATR_ERR_IND, "ATR_ERR_IND" }, { ISO7816_E_TPDU_DONE_IND, "TPDU_DONE_IND" }, { ISO7816_E_XCEIVE_TPDU_CMD, "XCEIVE_TPDU_CMD" }, /* allstate events */ @@ -251,6 +252,10 @@ osmo_fsm_inst_state_chg(fi, ISO7816_S_IN_ATR, 0, 0); osmo_fsm_inst_dispatch(ip->atr_fi, event, data); break; + case ISO7816_E_WTIME_EXP: + ip->user_cb(fi, event, 0, NULL); + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; default: OSMO_ASSERT(0); } @@ -265,6 +270,7 @@ switch (event) { case ISO7816_E_RX_SINGLE: case ISO7816_E_RX_ERR_IND: + case ISO7816_E_WTIME_EXP: /* simply pass this through to the child FSM for the ATR */ osmo_fsm_inst_dispatch(ip->atr_fi, event, data); break; @@ -275,6 +281,10 @@ /* notify user about ATR */ ip->user_cb(fi, event, 0, atr); break; + case ISO7816_E_ATR_ERR_IND: + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + ip->user_cb(fi, event, 0, atr); + break; default: OSMO_ASSERT(0); } @@ -326,6 +336,10 @@ /* hand finished TPDU to user */ ip->user_cb(fi, event, 0, apdu); break; + case ISO7816_E_WTIME_EXP: + /* FIXME: power off? */ + osmo_fsm_inst_state_chg(fi, ISO7816_S_RESET, 0, 0); + break; default: OSMO_ASSERT(0); } @@ -336,7 +350,6 @@ OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); switch (event) { - case ISO7816_E_WTIME_EXP: case ISO7816_E_HW_ERR_IND: case ISO7816_E_CARD_REMOVAL: /* FIXME: power off? */ @@ -366,7 +379,8 @@ }, [ISO7816_S_WAIT_ATR] = { .name = "WAIT_ATR", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ISO7816_S_RESET) | S(ISO7816_S_IN_ATR), .action = iso7816_3_wait_atr_action, @@ -375,7 +389,9 @@ .name = "IN_ATR", .in_event_mask = S(ISO7816_E_RX_SINGLE) | S(ISO7816_E_RX_ERR_IND) | - S(ISO7816_E_ATR_DONE_IND), + S(ISO7816_E_ATR_DONE_IND) | + S(ISO7816_E_ATR_ERR_IND) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ISO7816_S_RESET) | S(ISO7816_S_IN_ATR) | S(ISO7816_S_WAIT_TPDU), @@ -398,7 +414,8 @@ S(ISO7816_E_TX_COMPL) | S(ISO7816_E_RX_ERR_IND) | S(ISO7816_E_TX_ERR_IND) | - S(ISO7816_E_TPDU_DONE_IND), + S(ISO7816_E_TPDU_DONE_IND) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ISO7816_S_RESET) | S(ISO7816_S_WAIT_TPDU) | S(ISO7816_S_IN_TPDU), @@ -435,8 +452,7 @@ .log_subsys = DISO7816, .event_names = iso7816_3_event_names, .allstate_action = iso7816_3_allstate_action, - .allstate_event_mask = S(ISO7816_E_WTIME_EXP) | - S(ISO7816_E_CARD_REMOVAL) | + .allstate_event_mask = S(ISO7816_E_CARD_REMOVAL) | S(ISO7816_E_POWER_DN_IND) | S(ISO7816_E_RESET_ACT_IND) | S(ISO7816_E_HW_ERR_IND) | @@ -550,6 +566,9 @@ } atp->i = 0; /* first interface byte sub-group is coming (T0 is kind of TD0) */ break; + case ISO7816_E_WTIME_EXP: + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_ERR_IND, NULL); + break; default: OSMO_ASSERT(0); } @@ -642,6 +661,20 @@ OSMO_ASSERT(0); } break; + case ISO7816_E_WTIME_EXP: + switch (fi->state) { + case ATR_S_WAIT_HIST: + case ATR_S_WAIT_TCK: + /* Some cards have an ATR with long indication of historical bytes */ + /* FIXME: should we check the checksum? */ + osmo_fsm_inst_state_chg(fi, ATR_S_DONE, 0, 0); + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_DONE_IND, atp->atr); + break; + default: + osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_ERR_IND, NULL); + break; + } + break; default: OSMO_ASSERT(0); } @@ -650,7 +683,8 @@ static const struct osmo_fsm_state atr_states[] = { [ATR_S_WAIT_TS] = { .name = "WAIT_TS", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_T0), .action = atr_wait_ts_action, @@ -658,7 +692,8 @@ }, [ATR_S_WAIT_T0] = { .name = "WAIT_T0", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | @@ -671,7 +706,8 @@ }, [ATR_S_WAIT_TA] = { .name = "WAIT_TA", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TB) | S(ATR_S_WAIT_TC) | @@ -683,7 +719,8 @@ }, [ATR_S_WAIT_TB] = { .name = "WAIT_TB", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TC) | S(ATR_S_WAIT_TD) | @@ -694,7 +731,8 @@ }, [ATR_S_WAIT_TC] = { .name = "WAIT_TC", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TD) | S(ATR_S_WAIT_HIST) | @@ -704,7 +742,8 @@ }, [ATR_S_WAIT_TD] = { .name = "WAIT_TD", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TA) | S(ATR_S_WAIT_TB) | @@ -717,15 +756,18 @@ }, [ATR_S_WAIT_HIST] = { .name = "WAIT_HIST", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_WAIT_TCK) | - S(ATR_S_WAIT_T0), + S(ATR_S_WAIT_T0) | + S(ATR_S_DONE), .action = atr_wait_tX_action, }, [ATR_S_WAIT_TCK] = { .name = "WAIT_TCK", - .in_event_mask = S(ISO7816_E_RX_SINGLE), + .in_event_mask = S(ISO7816_E_RX_SINGLE) | + S(ISO7816_E_WTIME_EXP), .out_state_mask = S(ATR_S_WAIT_TS) | S(ATR_S_DONE), .action = atr_wait_tX_action, diff --git a/ccid_common/iso7816_fsm.h b/ccid_common/iso7816_fsm.h index 9a6b24e..f2c7483 100644 --- a/ccid_common/iso7816_fsm.h +++ b/ccid_common/iso7816_fsm.h @@ -27,6 +27,7 @@ /* internal events between FSMs in this file */ ISO7816_E_ATR_DONE_IND, /*!< ATR Done indication from ATR child FSM */ + ISO7816_E_ATR_ERR_IND, /*!< ATR Error indication from ATR child FSM */ ISO7816_E_TPDU_DONE_IND, /*!< TPDU Done indication from TPDU child FSM */ ISO7816_E_TPDU_CLEAR_REQ, /*!< Return TPDU FSM to TPDU_S_INIT */ }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15746 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: I62d47cb5e06b480941c67122f3c7d7a462ea2099 Gerrit-Change-Number: 15746 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 Oct 10 09:23:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:23:37 +0000 Subject: Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 ) Change subject: iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state ...................................................................... iso7816_fsm: Disable UART receiver when entering WAIT_TPDU state Change-Id: Iab58c2ffba935152450f965338599cbaabb4662b --- M ccid_common/iso7816_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index af7892c..21378e0 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -294,6 +294,7 @@ { struct iso7816_3_priv *ip = get_iso7816_3_priv(fi); OSMO_ASSERT(fi->fsm == &iso7816_3_fsm); + card_uart_ctrl(ip->uart, CUART_CTL_RX, false); /* reset the TPDU state machine */ osmo_fsm_inst_dispatch(ip->tpdu_fi, ISO7816_E_TPDU_CLEAR_REQ, NULL); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15747 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: Iab58c2ffba935152450f965338599cbaabb4662b Gerrit-Change-Number: 15747 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 Oct 10 09:28:36 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 10 Oct 2019 09:28:36 +0000 Subject: Change in ...osmo-ccid-firmware[master]: WIP: change IRQ endpoint re-submit logic. In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#5) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 ) Change subject: WIP: change IRQ endpoint re-submit logic. ...................................................................... WIP: change IRQ endpoint re-submit logic. The interrupt EP is not driven semi-synchronously by reacting to corresponding transfers from the host like the bulk EPs (the SIE will only automagically NAK all IN transfers from the host as long as no data is available), data is instead prepared asynchronously caused by changes to the sim card status, therefore attempting to submit a transfer while the ep is busy should not be an error condition. Change-Id: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed --- M sysmoOCTSIM/main.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/89/15689/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 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: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed Gerrit-Change-Number: 15689 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 10 09:34:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:34:52 +0000 Subject: Change in ...osmo-ccid-firmware[master]: SRAM linker script: shift start of RAM by 64kByte In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 ) Change subject: SRAM linker script: shift start of RAM by 64kByte ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15688 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: I69ed656ac7007c5b8aa08c18569a7da5fe6ef277 Gerrit-Change-Number: 15688 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 10 09:36:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:36:11 +0000 Subject: Change in ...osmo-ccid-firmware[master]: change IRQ endpoint re-submit logic. In-Reply-To: References: Message-ID: Hello Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 to look at the new patch set (#6). Change subject: change IRQ endpoint re-submit logic. ...................................................................... change IRQ endpoint re-submit logic. The interrupt EP is not driven semi-synchronously by reacting to corresponding transfers from the host like the bulk EPs (the SIE will only automagically NAK all IN transfers from the host as long as no data is available), data is instead prepared asynchronously caused by changes to the sim card status, therefore attempting to submit a transfer while the ep is busy should not be an error condition. Change-Id: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed --- M sysmoOCTSIM/main.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/89/15689/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 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: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed Gerrit-Change-Number: 15689 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 10 09:36:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:36:13 +0000 Subject: Change in ...osmo-ccid-firmware[master]: change IRQ endpoint re-submit logic. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 ) Change subject: change IRQ endpoint re-submit logic. ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 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: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed Gerrit-Change-Number: 15689 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 09:36: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 Thu Oct 10 09:38:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 09:38:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: change IRQ endpoint re-submit logic. In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 ) Change subject: change IRQ endpoint re-submit logic. ...................................................................... change IRQ endpoint re-submit logic. The interrupt EP is not driven semi-synchronously by reacting to corresponding transfers from the host like the bulk EPs (the SIE will only automagically NAK all IN transfers from the host as long as no data is available), data is instead prepared asynchronously caused by changes to the sim card status, therefore attempting to submit a transfer while the ep is busy should not be an error condition. Change-Id: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed --- M sysmoOCTSIM/main.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c index 9ef7f2f..6e2d6ac 100644 --- a/sysmoOCTSIM/main.c +++ b/sysmoOCTSIM/main.c @@ -220,7 +220,9 @@ struct msgb *msg; int rc; - OSMO_ASSERT(!ep_q->in_progress); + if (ep_q->in_progress) + return 0; + msg = msgb_dequeue_irqsafe(&ep_q->list); if (!msg) return 0; @@ -1110,6 +1112,7 @@ while (true) { // main loop command_try_recv(); poll_card_detect(); + submit_next_irq(); osmo_timers_update(); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15689 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: I41e77eec5f01bf082f8cb7331fbf7baae1c132ed Gerrit-Change-Number: 15689 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen 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 Oct 10 10:26:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Oct 2019 10:26:36 +0000 Subject: Change in ...libosmo-netif[master]: stream.c: remove duplicated line setting variable Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15748 Change subject: stream.c: remove duplicated line setting variable ...................................................................... stream.c: remove duplicated line setting variable Change-Id: I03b05179f5656ab81e5e14cd146f82a471f7b071 --- M src/stream.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/48/15748/1 diff --git a/src/stream.c b/src/stream.c index e9307a5..9c4afec 100644 --- a/src/stream.c +++ b/src/stream.c @@ -84,7 +84,6 @@ event.sctp_data_io_event = 1; event.sctp_association_event = 1; event.sctp_address_event = 1; - event.sctp_address_event = 1; event.sctp_send_failure_event = 1; event.sctp_peer_error_event = 1; event.sctp_shutdown_event = 1; -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I03b05179f5656ab81e5e14cd146f82a471f7b071 Gerrit-Change-Number: 15748 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 Oct 10 11:03:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Oct 2019 11:03:24 +0000 Subject: Change in ...libosmo-netif[master]: stream.c: remove duplicated line setting variable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15748 ) Change subject: stream.c: remove duplicated line setting variable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I03b05179f5656ab81e5e14cd146f82a471f7b071 Gerrit-Change-Number: 15748 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 10 Oct 2019 11:03: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 Thu Oct 10 11:05:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Oct 2019 11:05:16 +0000 Subject: Change in ...libosmo-netif[master]: stream.c: remove duplicated line setting variable In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15748 ) Change subject: stream.c: remove duplicated line setting variable ...................................................................... stream.c: remove duplicated line setting variable Change-Id: I03b05179f5656ab81e5e14cd146f82a471f7b071 --- M src/stream.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/stream.c b/src/stream.c index e9307a5..9c4afec 100644 --- a/src/stream.c +++ b/src/stream.c @@ -84,7 +84,6 @@ event.sctp_data_io_event = 1; event.sctp_association_event = 1; event.sctp_address_event = 1; - event.sctp_address_event = 1; event.sctp_send_failure_event = 1; event.sctp_peer_error_event = 1; event.sctp_shutdown_event = 1; -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I03b05179f5656ab81e5e14cd146f82a471f7b071 Gerrit-Change-Number: 15748 Gerrit-PatchSet: 1 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 Oct 10 11:50:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 11:50:22 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart.h: More comments Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15749 Change subject: cuart.h: More comments ...................................................................... cuart.h: More comments Change-Id: I79ffcb142f4b36499ed453403d54174c1514fc34 --- M ccid_common/cuart.h 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/49/15749/1 diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index b94eb2c..951a3ec 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -20,11 +20,11 @@ extern const struct value_string card_uart_event_vals[]; enum card_uart_ctl { - CUART_CTL_RX, - CUART_CTL_POWER, - CUART_CTL_CLOCK, - CUART_CTL_RST, - CUART_CTL_WTIME, + CUART_CTL_RX, /* enable/disable receiver */ + CUART_CTL_POWER, /* enable/disable ICC power */ + CUART_CTL_CLOCK, /* enable/disable ICC clock */ + CUART_CTL_RST, /* enable/disable ICC reset */ + CUART_CTL_WTIME, /* set the waiting time (in etu) */ }; struct card_uart; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15749 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: I79ffcb142f4b36499ed453403d54174c1514fc34 Gerrit-Change-Number: 15749 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 Oct 10 11:50:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 11:50:22 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_proto: Add missing value_string for RDR_to_PC_Parameters Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15750 Change subject: ccid_proto: Add missing value_string for RDR_to_PC_Parameters ...................................................................... ccid_proto: Add missing value_string for RDR_to_PC_Parameters Change-Id: I53cc1ed27af2d7574a9b8ecaa61c24a6a35577b7 --- M ccid_common/ccid_proto.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/50/15750/1 diff --git a/ccid_common/ccid_proto.c b/ccid_common/ccid_proto.c index 9275cf2..9a6b8fa 100644 --- a/ccid_common/ccid_proto.c +++ b/ccid_common/ccid_proto.c @@ -20,6 +20,7 @@ OSMO_VALUE_STRING(PC_to_RDR_SetDataRateAndClockFrequency), OSMO_VALUE_STRING(RDR_to_PC_DataBlock), OSMO_VALUE_STRING(RDR_to_PC_SlotStatus), + OSMO_VALUE_STRING(RDR_to_PC_Parameters), OSMO_VALUE_STRING(RDR_to_PC_Escape), OSMO_VALUE_STRING(RDR_to_PC_DataRateAndClockFrequency), { 0, NULL } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15750 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: I53cc1ed27af2d7574a9b8ecaa61c24a6a35577b7 Gerrit-Change-Number: 15750 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 Oct 10 11:50:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 11:50:22 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Tell FSM when we assert the RST line Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15751 Change subject: ccid_slot_fsm: Tell FSM when we assert the RST line ...................................................................... ccid_slot_fsm: Tell FSM when we assert the RST line Change-Id: I7e86e026be0f1976ec53235fbf9824d935f0685a --- M ccid_common/ccid_slot_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/51/15751/1 diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 06c14f1..ce59474 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -68,6 +68,7 @@ /* FIXME: do this via a FSM? */ card_uart_ctrl(ss->cuart, CUART_CTL_RST, true); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_RESET_ACT_IND, NULL); card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_POWER_UP_IND, NULL); cs->icc_powered = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15751 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: I7e86e026be0f1976ec53235fbf9824d935f0685a Gerrit-Change-Number: 15751 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 Oct 10 11:50:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 11:50:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Avoid segfault on accessing slots 1..7 Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15752 Change subject: ccid_slot_fsm: Avoid segfault on accessing slots 1..7 ...................................................................... ccid_slot_fsm: Avoid segfault on accessing slots 1..7 Change-Id: I3e3a20fad64ecbe3ccc50021da314901318b9c1d --- M ccid_common/ccid_slot_fsm.c 1 file changed, 11 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/52/15752/1 diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index ce59474..59071de 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -166,11 +166,13 @@ struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); struct card_uart *cuart = talloc_zero(ctx, struct card_uart); char id_buf[16]; - char *devname = "/dev/null"; + char *devname = NULL; int rc; LOGPCS(cs, LOGL_DEBUG, "%s\n", __func__); + /* HACK: make this in some way configurable so it works both in the firmware + * and on the host (functionfs) */ if (cs->slot_nr == 0) { cs->icc_present = true; devname = "/dev/ttyUSB5"; @@ -180,13 +182,17 @@ return -ENOMEM; snprintf(id_buf, sizeof(id_buf), "SIM%d", cs->slot_nr); - rc = card_uart_open(cuart, "tty", devname); - if (rc < 0) { - talloc_free(cuart); - return rc; + if (devname) { + rc = card_uart_open(cuart, "tty", devname); + if (rc < 0) { + LOGPCS(cs, LOGL_ERROR, "Cannot open UART %s: %d\n", devname, rc); + talloc_free(cuart); + return rc; + } } ss->fi = iso7816_fsm_alloc(ctx, LOGL_DEBUG, id_buf, cuart, iso_fsm_clot_user_cb, ss); if (!ss->fi) { + LOGPCS(cs, LOGL_ERROR, "Cannot allocate ISO FSM\n"); talloc_free(cuart); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15752 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: I3e3a20fad64ecbe3ccc50021da314901318b9c1d Gerrit-Change-Number: 15752 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 Oct 10 13:00:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:00:49 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart.h: More comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15749 ) Change subject: cuart.h: More comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15749 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: I79ffcb142f4b36499ed453403d54174c1514fc34 Gerrit-Change-Number: 15749 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 13:00: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 Oct 10 13:01:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:01:06 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_proto: Add missing value_string for RDR_to_PC_Parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15750 ) Change subject: ccid_proto: Add missing value_string for RDR_to_PC_Parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15750 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: I53cc1ed27af2d7574a9b8ecaa61c24a6a35577b7 Gerrit-Change-Number: 15750 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 13:01: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 Oct 10 13:01:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:01:19 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Tell FSM when we assert the RST line In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15751 ) Change subject: ccid_slot_fsm: Tell FSM when we assert the RST line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15751 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: I7e86e026be0f1976ec53235fbf9824d935f0685a Gerrit-Change-Number: 15751 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 13:01: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 Oct 10 13:01:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:01:26 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Avoid segfault on accessing slots 1..7 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15752 ) Change subject: ccid_slot_fsm: Avoid segfault on accessing slots 1..7 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15752 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: I3e3a20fad64ecbe3ccc50021da314901318b9c1d Gerrit-Change-Number: 15752 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 13:01: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 Oct 10 13:01:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:01:27 +0000 Subject: Change in ...osmo-ccid-firmware[master]: cuart.h: More comments In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15749 ) Change subject: cuart.h: More comments ...................................................................... cuart.h: More comments Change-Id: I79ffcb142f4b36499ed453403d54174c1514fc34 --- M ccid_common/cuart.h 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index b94eb2c..951a3ec 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -20,11 +20,11 @@ extern const struct value_string card_uart_event_vals[]; enum card_uart_ctl { - CUART_CTL_RX, - CUART_CTL_POWER, - CUART_CTL_CLOCK, - CUART_CTL_RST, - CUART_CTL_WTIME, + CUART_CTL_RX, /* enable/disable receiver */ + CUART_CTL_POWER, /* enable/disable ICC power */ + CUART_CTL_CLOCK, /* enable/disable ICC clock */ + CUART_CTL_RST, /* enable/disable ICC reset */ + CUART_CTL_WTIME, /* set the waiting time (in etu) */ }; struct card_uart; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15749 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: I79ffcb142f4b36499ed453403d54174c1514fc34 Gerrit-Change-Number: 15749 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 Oct 10 13:01:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:01:28 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_proto: Add missing value_string for RDR_to_PC_Parameters In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15750 ) Change subject: ccid_proto: Add missing value_string for RDR_to_PC_Parameters ...................................................................... ccid_proto: Add missing value_string for RDR_to_PC_Parameters Change-Id: I53cc1ed27af2d7574a9b8ecaa61c24a6a35577b7 --- M ccid_common/ccid_proto.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/ccid_proto.c b/ccid_common/ccid_proto.c index 9275cf2..9a6b8fa 100644 --- a/ccid_common/ccid_proto.c +++ b/ccid_common/ccid_proto.c @@ -20,6 +20,7 @@ OSMO_VALUE_STRING(PC_to_RDR_SetDataRateAndClockFrequency), OSMO_VALUE_STRING(RDR_to_PC_DataBlock), OSMO_VALUE_STRING(RDR_to_PC_SlotStatus), + OSMO_VALUE_STRING(RDR_to_PC_Parameters), OSMO_VALUE_STRING(RDR_to_PC_Escape), OSMO_VALUE_STRING(RDR_to_PC_DataRateAndClockFrequency), { 0, NULL } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15750 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: I53cc1ed27af2d7574a9b8ecaa61c24a6a35577b7 Gerrit-Change-Number: 15750 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 Oct 10 13:01:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:01:28 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Tell FSM when we assert the RST line In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15751 ) Change subject: ccid_slot_fsm: Tell FSM when we assert the RST line ...................................................................... ccid_slot_fsm: Tell FSM when we assert the RST line Change-Id: I7e86e026be0f1976ec53235fbf9824d935f0685a --- M ccid_common/ccid_slot_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 06c14f1..ce59474 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -68,6 +68,7 @@ /* FIXME: do this via a FSM? */ card_uart_ctrl(ss->cuart, CUART_CTL_RST, true); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_RESET_ACT_IND, NULL); card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_POWER_UP_IND, NULL); cs->icc_powered = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15751 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: I7e86e026be0f1976ec53235fbf9824d935f0685a Gerrit-Change-Number: 15751 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 Oct 10 13:01:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:01:28 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Avoid segfault on accessing slots 1..7 In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15752 ) Change subject: ccid_slot_fsm: Avoid segfault on accessing slots 1..7 ...................................................................... ccid_slot_fsm: Avoid segfault on accessing slots 1..7 Change-Id: I3e3a20fad64ecbe3ccc50021da314901318b9c1d --- M ccid_common/ccid_slot_fsm.c 1 file changed, 11 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index ce59474..59071de 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -166,11 +166,13 @@ struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); struct card_uart *cuart = talloc_zero(ctx, struct card_uart); char id_buf[16]; - char *devname = "/dev/null"; + char *devname = NULL; int rc; LOGPCS(cs, LOGL_DEBUG, "%s\n", __func__); + /* HACK: make this in some way configurable so it works both in the firmware + * and on the host (functionfs) */ if (cs->slot_nr == 0) { cs->icc_present = true; devname = "/dev/ttyUSB5"; @@ -180,13 +182,17 @@ return -ENOMEM; snprintf(id_buf, sizeof(id_buf), "SIM%d", cs->slot_nr); - rc = card_uart_open(cuart, "tty", devname); - if (rc < 0) { - talloc_free(cuart); - return rc; + if (devname) { + rc = card_uart_open(cuart, "tty", devname); + if (rc < 0) { + LOGPCS(cs, LOGL_ERROR, "Cannot open UART %s: %d\n", devname, rc); + talloc_free(cuart); + return rc; + } } ss->fi = iso7816_fsm_alloc(ctx, LOGL_DEBUG, id_buf, cuart, iso_fsm_clot_user_cb, ss); if (!ss->fi) { + LOGPCS(cs, LOGL_ERROR, "Cannot allocate ISO FSM\n"); talloc_free(cuart); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15752 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: I3e3a20fad64ecbe3ccc50021da314901318b9c1d Gerrit-Change-Number: 15752 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 Oct 10 13:02:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:02:18 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Don't free ATR msgb; it is persistent Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15753 Change subject: ccid_slot_fsm: Don't free ATR msgb; it is persistent ...................................................................... ccid_slot_fsm: Don't free ATR msgb; it is persistent Change-Id: I2b153c7ad1f40dff946b51d743b2740c4db10dae --- M ccid_common/ccid_slot_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/53/15753/1 diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 59071de..90899bd 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -95,7 +95,7 @@ resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_data(tpdu), msgb_length(tpdu)); ccid_slot_send_unbusy(cs, resp); - msgb_free(tpdu); + /* Don't free "TPDU" here, as the ATR should survive */ break; case ISO7816_E_TPDU_DONE_IND: tpdu = data; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15753 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: I2b153c7ad1f40dff946b51d743b2740c4db10dae Gerrit-Change-Number: 15753 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 Oct 10 13:02:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:02:18 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_main_functionfs: Set "TPDU level" of exchange, not character Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15754 Change subject: ccid_main_functionfs: Set "TPDU level" of exchange, not character ...................................................................... ccid_main_functionfs: Set "TPDU level" of exchange, not character Change-Id: I3d16a83c93bc2d4c6a06d0fb585d496a0b5ff132 --- M ccid_host/ccid_main_functionfs.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/54/15754/1 diff --git a/ccid_host/ccid_main_functionfs.c b/ccid_host/ccid_main_functionfs.c index d45a936..8e95c73 100644 --- a/ccid_host/ccid_main_functionfs.c +++ b/ccid_host/ccid_main_functionfs.c @@ -75,7 +75,7 @@ .dwMaxIFSD = cpu_to_le32(0), .dwSynchProtocols = cpu_to_le32(0), .dwMechanical = cpu_to_le32(0), - .dwFeatures = cpu_to_le32(0x10), + .dwFeatures = cpu_to_le32(0x00010010), .dwMaxCCIDMessageLength = 272, .bClassGetResponse = 0xff, .bClassEnvelope = 0xff, -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15754 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: I3d16a83c93bc2d4c6a06d0fb585d496a0b5ff132 Gerrit-Change-Number: 15754 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 Oct 10 13:05:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:05:51 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Don't free ATR msgb; it is persistent In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15753 ) Change subject: ccid_slot_fsm: Don't free ATR msgb; it is persistent ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15753 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: I2b153c7ad1f40dff946b51d743b2740c4db10dae Gerrit-Change-Number: 15753 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 13:05: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 Oct 10 13:05:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:05:53 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_main_functionfs: Set "TPDU level" of exchange, not character In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15754 ) Change subject: ccid_main_functionfs: Set "TPDU level" of exchange, not character ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15754 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: I3d16a83c93bc2d4c6a06d0fb585d496a0b5ff132 Gerrit-Change-Number: 15754 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 13:05: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 Oct 10 13:06:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:06:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Don't free ATR msgb; it is persistent In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15753 ) Change subject: ccid_slot_fsm: Don't free ATR msgb; it is persistent ...................................................................... ccid_slot_fsm: Don't free ATR msgb; it is persistent Change-Id: I2b153c7ad1f40dff946b51d743b2740c4db10dae --- M ccid_common/ccid_slot_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 59071de..90899bd 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -95,7 +95,7 @@ resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_data(tpdu), msgb_length(tpdu)); ccid_slot_send_unbusy(cs, resp); - msgb_free(tpdu); + /* Don't free "TPDU" here, as the ATR should survive */ break; case ISO7816_E_TPDU_DONE_IND: tpdu = data; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15753 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: I2b153c7ad1f40dff946b51d743b2740c4db10dae Gerrit-Change-Number: 15753 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 Oct 10 13:06:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:06:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_main_functionfs: Set "TPDU level" of exchange, not character In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15754 ) Change subject: ccid_main_functionfs: Set "TPDU level" of exchange, not character ...................................................................... ccid_main_functionfs: Set "TPDU level" of exchange, not character Change-Id: I3d16a83c93bc2d4c6a06d0fb585d496a0b5ff132 --- M ccid_host/ccid_main_functionfs.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_host/ccid_main_functionfs.c b/ccid_host/ccid_main_functionfs.c index d45a936..8e95c73 100644 --- a/ccid_host/ccid_main_functionfs.c +++ b/ccid_host/ccid_main_functionfs.c @@ -75,7 +75,7 @@ .dwMaxIFSD = cpu_to_le32(0), .dwSynchProtocols = cpu_to_le32(0), .dwMechanical = cpu_to_le32(0), - .dwFeatures = cpu_to_le32(0x10), + .dwFeatures = cpu_to_le32(0x00010010), .dwMaxCCIDMessageLength = 272, .bClassGetResponse = 0xff, .bClassEnvelope = 0xff, -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15754 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: I3d16a83c93bc2d4c6a06d0fb585d496a0b5ff132 Gerrit-Change-Number: 15754 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 Oct 10 13:48:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:48:41 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Convert from CCID msgb to TPDU msgb Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15755 Change subject: ccid_slot_fsm: Convert from CCID msgb to TPDU msgb ...................................................................... ccid_slot_fsm: Convert from CCID msgb to TPDU msgb Change-Id: I67f684ec098c0fdf4bf75c20d8cdf91b6e6411c2 --- M ccid_common/ccid_slot_fsm.c 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/55/15755/1 diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 90899bd..7b513a5 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -111,10 +112,25 @@ const struct ccid_pc_to_rdr_xfr_block *xfb) { struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + struct msgb *tpdu; - LOGPCS(cs, LOGL_DEBUG, "scheduling TPDU transfer\n"); ss->seq = xfb->hdr.bSeq; - osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_XCEIVE_TPDU_CMD, msg); + + /* must be '0' for TPDU level exchanges or for short APDU */ + OSMO_ASSERT(xfb->wLevelParameter == 0x0000); + OSMO_ASSERT(msgb_length(msg) > xfb->hdr.dwLength); + + /* 'msg' contains the raw CCID message as received from USB. We could create + * a new message buffer for the ISO7816 side here or we could 'strip the CCID + * header off the start of the message. Let's KISS and do a copy here */ + tpdu = msgb_alloc(512, "TPDU"); + OSMO_ASSERT(tpdu); + memcpy(msgb_data(tpdu), xfb->abData, xfb->hdr.dwLength); + msgb_put(tpdu, xfb->hdr.dwLength); + msgb_free(msg); + + LOGPCS(cs, LOGL_DEBUG, "scheduling TPDU transfer: %s\n", msgb_hexdump(tpdu)); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_XCEIVE_TPDU_CMD, tpdu); /* continues in iso_fsm_clot_user_cb once response/error/timeout is received */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15755 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: I67f684ec098c0fdf4bf75c20d8cdf91b6e6411c2 Gerrit-Change-Number: 15755 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 Oct 10 13:48:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:48:41 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15756 Change subject: ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by ...................................................................... ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by Change-Id: I347b1a44c51624ca16b0687a92454f96c3cb20ab --- M ccid_common/ccid_slot_fsm.c 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/56/15756/1 diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 7b513a5..a7ecb9f 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -87,12 +87,11 @@ struct ccid_slot *cs = ss->cs; struct msgb *tpdu, *resp; - LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%p)\n", __func__, event, cause, data); - switch (event) { case ISO7816_E_ATR_DONE_IND: tpdu = data; - /* FIXME: copy response data over */ + LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%s)\n", __func__, event, cause, + msgb_hexdump(tpdu)); resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_data(tpdu), msgb_length(tpdu)); ccid_slot_send_unbusy(cs, resp); @@ -100,11 +99,16 @@ break; case ISO7816_E_TPDU_DONE_IND: tpdu = data; - /* FIXME: copy response data over */ + LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%s)\n", __func__, event, cause, + msgb_hexdump(tpdu)); resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_l2(tpdu), msgb_l2len(tpdu)); ccid_slot_send_unbusy(cs, resp); msgb_free(tpdu); break; + default: + LOGPCS(cs, LOGL_NOTICE, "%s(event=%d, cause=%d, data=%p) unhandled\n", + __func__, event, cause, data); + break; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15756 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: I347b1a44c51624ca16b0687a92454f96c3cb20ab Gerrit-Change-Number: 15756 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 Oct 10 13:49:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:49:02 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15756 ) Change subject: ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15756 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: I347b1a44c51624ca16b0687a92454f96c3cb20ab Gerrit-Change-Number: 15756 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 10 Oct 2019 13:49: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 Oct 10 13:49:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:49:09 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Convert from CCID msgb to TPDU msgb In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15755 ) Change subject: ccid_slot_fsm: Convert from CCID msgb to TPDU msgb ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15755 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: I67f684ec098c0fdf4bf75c20d8cdf91b6e6411c2 Gerrit-Change-Number: 15755 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 10 Oct 2019 13:49: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 Oct 10 13:57:07 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Oct 2019 13:57:07 +0000 Subject: Change in ...osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15757 Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... scheduler_trx: use gsm0502_fn_remap() to calculate frame number When sched_compose_tch_ind, sched_compose_ph_data_ind or l1if_process_meas_res is called from rx_tchf_fn or rx_tchh_fn the frame number of the beginning of the block is required. At the moment this frame number is calculated wrongly using strange formulas. Lets use gsm0502_fn_remap() to calculate the beginning of the block properly Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Depends: libosmocore I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Related: OS#3803 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 28 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/57/15757/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8b0c761..90ed1aa 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -46,6 +46,7 @@ #include #include #include +#include #include "l1_if.h" #include "trx_if.h" @@ -1141,6 +1142,7 @@ bool bfi_flag = false; struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); + unsigned int fn_begin; /* handle rach, if handover rach detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1225,7 +1227,8 @@ memcpy(*bursts_p, *bursts_p + 464, 464); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); + l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, bi->rssi, bi->toa256); @@ -1251,10 +1254,9 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, bi->tn, - /* FIXME: this calculation is wrong */ - (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, /* FIXME: AVG RSSI and ToA256 */ bi->rssi, bi->toa256, @@ -1313,10 +1315,9 @@ /* TCH or BFI */ compose_l1sap: - return _sched_compose_tch_ind(l1t, bi->tn, - /* FIXME: this calculation is wrong */ - (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, - tch_data, rc); + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, + tch_data, rc); } /*! \brief a single TCH/H burst was received by the PHY, process it */ @@ -1341,6 +1342,7 @@ * Even FN ending at: 10,11,19,20,2,3 */ int fn_is_odd = (((bi->fn + 26 - 10) % 26) >> 2) & 1; + unsigned int fn_begin; /* handle RACH, if handover RACH detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1436,10 +1438,13 @@ memcpy(*bursts_p + 232, *bursts_p + 464, 232); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, - *first_fn /* FIXME: this is wrong */, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, bi->rssi, bi->toa256); + if (lchan->nr == 0) + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H0); + else + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H1); + l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, + trx_chan_desc[chan].chan_nr | bi->tn, n_errors, + n_bits_total, bi->rssi, bi->toa256); /* Check if the frame is bad */ if (rc < 0) { @@ -1464,9 +1469,11 @@ if (rc == GSM_MACBLOCK_LEN) { chan_state->ul_ongoing_facch = 1; uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, bi->tn, - /* FIXME: what the hell is this?!? */ - (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn % 26) >= 19)) % GSM_HYPERFRAME, chan, + if (lchan->nr == 0) + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0); + else + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, /* FIXME: AVG both RSSI and ToA */ bi->rssi, bi->toa256, @@ -1527,10 +1534,12 @@ * with the slot 12, so an extra FN must be subtracted to get correct * start of frame. */ - return _sched_compose_tch_ind(l1t, bi->tn, - /* FIXME: what the hell is this?!? */ - (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn%26)==19) - ((bi->fn%26)==20)) % GSM_HYPERFRAME, - chan, tch_data, rc); + if (lchan->nr == 0) + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H0); + else + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H1); + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, + tch_data, rc); } /* schedule all frames of all TRX for given FN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 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 Oct 10 13:58:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:58:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Convert from CCID msgb to TPDU msgb In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15755 ) Change subject: ccid_slot_fsm: Convert from CCID msgb to TPDU msgb ...................................................................... ccid_slot_fsm: Convert from CCID msgb to TPDU msgb Change-Id: I67f684ec098c0fdf4bf75c20d8cdf91b6e6411c2 --- M ccid_common/ccid_slot_fsm.c 1 file changed, 18 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 90899bd..7b513a5 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -111,10 +112,25 @@ const struct ccid_pc_to_rdr_xfr_block *xfb) { struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + struct msgb *tpdu; - LOGPCS(cs, LOGL_DEBUG, "scheduling TPDU transfer\n"); ss->seq = xfb->hdr.bSeq; - osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_XCEIVE_TPDU_CMD, msg); + + /* must be '0' for TPDU level exchanges or for short APDU */ + OSMO_ASSERT(xfb->wLevelParameter == 0x0000); + OSMO_ASSERT(msgb_length(msg) > xfb->hdr.dwLength); + + /* 'msg' contains the raw CCID message as received from USB. We could create + * a new message buffer for the ISO7816 side here or we could 'strip the CCID + * header off the start of the message. Let's KISS and do a copy here */ + tpdu = msgb_alloc(512, "TPDU"); + OSMO_ASSERT(tpdu); + memcpy(msgb_data(tpdu), xfb->abData, xfb->hdr.dwLength); + msgb_put(tpdu, xfb->hdr.dwLength); + msgb_free(msg); + + LOGPCS(cs, LOGL_DEBUG, "scheduling TPDU transfer: %s\n", msgb_hexdump(tpdu)); + osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_XCEIVE_TPDU_CMD, tpdu); /* continues in iso_fsm_clot_user_cb once response/error/timeout is received */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15755 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: I67f684ec098c0fdf4bf75c20d8cdf91b6e6411c2 Gerrit-Change-Number: 15755 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 Oct 10 13:58:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 10 Oct 2019 13:58:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15756 ) Change subject: ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by ...................................................................... ccid_slot_fsm: Add msgb_hexdump of TPDU and ATR as it passes by Change-Id: I347b1a44c51624ca16b0687a92454f96c3cb20ab --- M ccid_common/ccid_slot_fsm.c 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 7b513a5..a7ecb9f 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -87,12 +87,11 @@ struct ccid_slot *cs = ss->cs; struct msgb *tpdu, *resp; - LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%p)\n", __func__, event, cause, data); - switch (event) { case ISO7816_E_ATR_DONE_IND: tpdu = data; - /* FIXME: copy response data over */ + LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%s)\n", __func__, event, cause, + msgb_hexdump(tpdu)); resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_data(tpdu), msgb_length(tpdu)); ccid_slot_send_unbusy(cs, resp); @@ -100,11 +99,16 @@ break; case ISO7816_E_TPDU_DONE_IND: tpdu = data; - /* FIXME: copy response data over */ + LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, cause=%d, data=%s)\n", __func__, event, cause, + msgb_hexdump(tpdu)); resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_OK, 0, msgb_l2(tpdu), msgb_l2len(tpdu)); ccid_slot_send_unbusy(cs, resp); msgb_free(tpdu); break; + default: + LOGPCS(cs, LOGL_NOTICE, "%s(event=%d, cause=%d, data=%p) unhandled\n", + __func__, event, cause, data); + break; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15756 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: I347b1a44c51624ca16b0687a92454f96c3cb20ab Gerrit-Change-Number: 15756 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 Oct 10 14:05:58 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 10 Oct 2019 14:05:58 +0000 Subject: Change in ...osmo-bts[master]: remove dummy UL measurement results for lost sacch frames In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14762 ) Change subject: remove dummy UL measurement results for lost sacch frames ...................................................................... Patch Set 1: I am not sure if this is entirely correct. Yes, the measurement code was hardened to work with fewer measurements if frames are lost. However, the SACCH acts as kind of a trigger that triggers the code that sums up all the measurements from the last period. I would check back in the code what happens when the SACCH is lost. I am not entirely sure anymore how the mechanism works there. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfa123f8d02a9d8be1f6de6923fc2a8628020145 Gerrit-Change-Number: 14762 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 10 Oct 2019 14:05: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 Oct 10 15:19:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 10 Oct 2019 15:19:11 +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 (#8). 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. In this patch, the SAPI context is set for the PHYs where the SAPI is readily available. With additional conversion from the RSL channel, the SAPI context could be set for osmo-bts-trx in a follow up patch. 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, 295 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15539/8 -- 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: 8 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 Thu Oct 10 15:19:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 10 Oct 2019 15:19:20 +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 7: Thanks for the review. Updated, as discussed in chat. -- 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: 7 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, 10 Oct 2019 15:19: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 Thu Oct 10 15:32:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Oct 2019 15:32:30 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI log context ...................................................................... Patch Set 8: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/15539/8/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15539/8/src/common/l1sap.c at 332 PS8, Line 332: L1SAP_COMMON_SAPI_PACCH Use PDTCH here, because we don't know if it's PACCH or not. https://gerrit.osmocom.org/#/c/15539/8/src/common/l1sap.c at 338 PS8, Line 338: return L1SAP_COMMON_SAPI_UNKNOWN; Unreacheable. -- 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: 8 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, 10 Oct 2019 15:32: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 Thu Oct 10 15:52:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 10 Oct 2019 15:52:25 +0000 Subject: Change in ...osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15757 ) Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/#/c/15757/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/#/c/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1230 PS1, Line 1230: FN_REMAP_FACCH_F You can't be sure at this point as you don't know whether it's FACCH or speech. https://gerrit.osmocom.org/#/c/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1318 PS1, Line 1318: FN_REMAP_FACCH_F That's actually not FACCH. https://gerrit.osmocom.org/#/c/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1442 PS1, Line 1442: FN_REMAP_TCH_H0 Same here, what if the received frame is FACCH/H? https://gerrit.osmocom.org/#/c/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1473 PS1, Line 1473: FN_REMAP_FACCH_H0 Can be simplified: FN_REMAP_FACCH_H0 + lchan->nr. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 10 Oct 2019 15:52:25 +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 Oct 10 15:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 10 Oct 2019 15:54:01 +0000 Subject: Change in ...libosmocore[master]: socket.c: Move glibc workarounds to same place in addrinfo_helper() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15758 Change subject: socket.c: Move glibc workarounds to same place in addrinfo_helper() ...................................................................... socket.c: Move glibc workarounds to same place in addrinfo_helper() Change-Id: Ifc3a30881f865f88bcfc1307a3c89c1ab79eecd4 --- M src/socket.c 1 file changed, 10 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/58/15758/1 diff --git a/src/socket.c b/src/socket.c index c50af55..ef3bb58 100644 --- a/src/socket.c +++ b/src/socket.c @@ -56,7 +56,7 @@ static struct addrinfo *addrinfo_helper(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, bool passive) { - struct addrinfo hints, *result; + struct addrinfo hints, *result, *rp; char portbuf[6]; int rc; @@ -66,6 +66,7 @@ if (type == SOCK_RAW) { /* Workaround for glibc, that returns EAI_SERVICE (-8) if * SOCK_RAW and IPPROTO_GRE is used. + * http://sourceware.org/bugzilla/show_bug.cgi?id=15015 */ hints.ai_socktype = SOCK_DGRAM; hints.ai_protocol = IPPROTO_UDP; @@ -84,6 +85,14 @@ return NULL; } + for (rp = result; rp != NULL; rp = rp->ai_next) { + /* Workaround for glibc again */ + if (type == SOCK_RAW) { + rp->ai_socktype = SOCK_RAW; + rp->ai_protocol = proto; + } + } + return result; } @@ -199,12 +208,6 @@ return -EINVAL; for (rp = result; rp != NULL; rp = rp->ai_next) { - /* Workaround for glibc again */ - if (type == SOCK_RAW) { - rp->ai_socktype = SOCK_RAW; - rp->ai_protocol = proto; - } - sfd = socket_helper(rp, flags); if (sfd < 0) continue; @@ -253,12 +256,6 @@ } for (rp = result; rp != NULL; rp = rp->ai_next) { - /* Workaround for glibc again */ - if (type == SOCK_RAW) { - rp->ai_socktype = SOCK_RAW; - rp->ai_protocol = proto; - } - if (sfd < 0) { sfd = socket_helper(rp, flags); if (sfd < 0) @@ -332,12 +329,6 @@ } for (rp = result; rp != NULL; rp = rp->ai_next) { - /* Workaround for glibc again */ - if (type == SOCK_RAW) { - rp->ai_socktype = SOCK_RAW; - rp->ai_protocol = proto; - } - sfd = socket_helper(rp, flags); if (sfd == -1) continue; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifc3a30881f865f88bcfc1307a3c89c1ab79eecd4 Gerrit-Change-Number: 15758 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Oct 11 01:41:57 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 11 Oct 2019 01:41:57 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5d9fddeacce4d_7bc12ae00dbd05fc472157@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 99s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18304 timestamp=847016806 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18305 timestamp=847016966 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18306 timestamp=847017126 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18307 timestamp=847017286 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18308 timestamp=847017446 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] sys={28.604242}, mono={5.180000}: clock_override_add [ 99s] -sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18309 timestamp=847017606 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 99s] sys={28.624242}, mono={5.200000}: clock_override_add [ 99s] sys={28.624242}, mono={5.200000}: OK: Test passed [ 99s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) [ 99s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 99s] make[1]: *** [override_dh_auto_test] Error 1 [ 99s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 99s] debian/rules:13: recipe for target 'build' failed [ 99s] make: *** [build] Error 2 [ 99s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 99s] [ 99s] build71 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 11 01:41:42 UTC 2019. [ 99s] [ 99s] ### VM INTERACTION START ### [ 100s] Powering off. [ 100s] [ 90.364530] reboot: Power down [ 100s] ### VM INTERACTION END ### [ 100s] [ 100s] build71 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 11 01:41:43 UTC 2019. [ 100s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 11 01:52:31 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 11 Oct 2019 01:52:31 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5d9fe07bde035_7bc12ae00dbd05fc4727e5@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: [ 93s] | #define HAVE_DLFCN_H 1 [ 93s] | #define LT_OBJDIR ".libs/" [ 93s] | #define STDC_HEADERS 1 [ 93s] | #define HAVE_EXECINFO_H 1 [ 93s] | #define HAVE_SYS_SELECT_H 1 [ 93s] | #define HAVE_SYS_SOCKET_H 1 [ 93s] | #define HAVE_SYSLOG_H 1 [ 93s] | #define HAVE_CTYPE_H 1 [ 93s] | #define HAVE_LIBSCTP 1 [ 93s] | #define HAVE_PCAP_H 1 [ 93s] | [ 93s] | configure: exit 0 [ 93s] [ 93s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 93s] make[1]: *** [override_dh_auto_test] Error 1 [ 93s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 93s] debian/rules:13: recipe for target 'build' failed [ 93s] make: *** [build] Error 2 [ 93s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 93s] [ 93s] sheep82 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 11 01:52:16 UTC 2019. [ 93s] [ 93s] ### VM INTERACTION START ### [ 94s] Powering off. [ 94s] [ 85.408659] reboot: Power down [ 94s] ### VM INTERACTION END ### [ 94s] [ 94s] sheep82 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 11 01:52:18 UTC 2019. [ 94s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 11 02:02:49 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 11 Oct 2019 02:02:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d9fe2d547988_7bc12ae00dbd05fc473783@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: [ 658s] ar: `u' modifier ignored since `D' is the default (see `U') [ 658s] libtool: link: ranlib .libs/libtransceiver_common.a [ 658s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 658s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -pthread -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 [ 659s] libtool: link: g++ -pthread -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 -pthread [ 659s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 659s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 659s] collect2: error: ld returned 1 exit status [ 659s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 659s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 659s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 659s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 659s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 659s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 659s] make[1]: *** [Makefile:444: all] Error 2 [ 659s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 659s] dh_auto_build: make -j1 returned exit code 2 [ 659s] make: *** [debian/rules:6: build] Error 255 [ 659s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 659s] [ 659s] lamb61 failed "build osmo-trx_1.1.1.30.92814.dsc" at Fri Oct 11 02:02:38 UTC 2019. [ 659s] [ 659s] ### VM INTERACTION START ### [ 662s] [ 621.393149] sysrq: SysRq : Power Off [ 662s] [ 621.403420] reboot: Power down [ 662s] ### VM INTERACTION END ### [ 662s] [ 662s] lamb61 failed "build osmo-trx_1.1.1.30.92814.dsc" at Fri Oct 11 02:02:42 UTC 2019. [ 662s] -- 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 Oct 11 06:10:04 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 06:10:04 +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 (#9). 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. In this patch, the SAPI context is set for the PHYs where the SAPI is readily available. With additional conversion from the RSL channel, the SAPI context could be set for osmo-bts-trx in a follow up patch. 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, 293 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15539/9 -- 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: 9 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 Fri Oct 11 06:10:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 06:10:56 +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 9: (2 comments) https://gerrit.osmocom.org/#/c/15539/8/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15539/8/src/common/l1sap.c at 332 PS8, Line 332: L1SAP_COMMON_SAPI_PACCH > Use PDTCH here, because we don't know if it's PACCH or not. Done https://gerrit.osmocom.org/#/c/15539/8/src/common/l1sap.c at 338 PS8, Line 338: return L1SAP_COMMON_SAPI_UNKNOWN; > Unreacheable. 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: 9 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, 11 Oct 2019 06:10:56 +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 Oct 11 07:04:13 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Oct 2019 07:04:13 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI log context ...................................................................... Patch Set 9: Code-Review+1 -- 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: 9 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, 11 Oct 2019 07:04:13 +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 Oct 11 07:46:18 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 11 Oct 2019 07:46:18 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da03361e00f6_5d032ab91c1285f43929f@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: [ 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 [ 326s] 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 [ 326s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 326s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 326s] collect2: error: ld returned 1 exit status [ 326s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 326s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 326s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 326s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 326s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 326s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 326s] make[1]: *** [Makefile:444: all] Error 2 [ 326s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 326s] dh_auto_build: make -j1 returned exit code 2 [ 326s] make: *** [debian/rules:6: build] Error 255 [ 326s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 326s] [ 326s] sheep82 failed "build osmo-trx_1.1.1.dsc" at Fri Oct 11 07:46:06 UTC 2019. [ 326s] [ 326s] ### VM INTERACTION START ### [ 329s] [ 317.044858] sysrq: SysRq : Power Off [ 329s] [ 317.054088] reboot: Power down [ 329s] ### VM INTERACTION END ### [ 329s] [ 329s] sheep82 failed "build osmo-trx_1.1.1.dsc" at Fri Oct 11 07:46:10 UTC 2019. [ 329s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 11 07:50:35 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 11 Oct 2019 07:50:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da034532671e_5d032ab91c1285f4407a2@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: [ 457s] ar: `u' modifier ignored since `D' is the default (see `U') [ 457s] libtool: link: ranlib .libs/libtransceiver_common.a [ 457s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 457s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -pthread -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 [ 458s] libtool: link: g++ -pthread -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 -pthread [ 458s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 458s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 458s] collect2: error: ld returned 1 exit status [ 458s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 458s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 458s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 458s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 458s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 458s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 458s] make[1]: *** [Makefile:444: all] Error 2 [ 458s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 458s] dh_auto_build: make -j1 returned exit code 2 [ 458s] make: *** [debian/rules:6: build] Error 255 [ 458s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 458s] [ 458s] lamb19 failed "build osmo-trx_1.1.1.30.92814.dsc" at Fri Oct 11 07:50:23 UTC 2019. [ 458s] [ 458s] ### VM INTERACTION START ### [ 461s] [ 442.724971] sysrq: SysRq : Power Off [ 461s] [ 442.729872] reboot: Power down [ 461s] ### VM INTERACTION END ### [ 461s] [ 461s] lamb19 failed "build osmo-trx_1.1.1.30.92814.dsc" at Fri Oct 11 07:50:26 UTC 2019. [ 461s] -- 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 Oct 11 08:01:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:01:23 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: default to concurrent: true In-Reply-To: References: Message-ID: Hello pespin, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/15585 to look at the new patch set (#6). Change subject: gerrit, master builds: default to concurrent: true ...................................................................... gerrit, master builds: default to concurrent: true Now that almost everything runs in docker, we don't need to worry about problems with running VTY/CTRL tests in parallel for these projects. Related: OS#3726 Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 12 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/85/15585/6 -- 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: 6 Gerrit-Owner: osmith 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 Fri Oct 11 08:01:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:01:24 +0000 Subject: Change in ...osmo-ci[master]: docker: add more dependencies Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15759 Change subject: docker: add more dependencies ...................................................................... docker: add more dependencies Prepare for building almost all Osmocom repositories in docker, by installing new required dependencies: * libaio-dev: needed for osmo-ccid-firmware * libasound2-dev: needed for gapk * libboost-all-dev: needed for libusrp * libcsv-dev: needed for osmo-remsim * libmnl-dev: needed for libgtpnl * libnewlib-arm-none-eabi: needed to cross compile libosmocore to arm * liboping-dev: needed for osmo-sysmon * libulfius: needed for osmo-remsim (libulfius is not packaged in debian stretch, download the project's official .deb release instead) * libzmq3-dev: needed for osmo-pcap * sdcc: needed for libusrp * systemd: needed for osmo-remsim (provides systemd.pc, indirect dependency through libulfius) Related: OS#3726 Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 16 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/59/15759/1 diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 897db15..62855c9 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -1,6 +1,10 @@ ARG DEBIAN_VERSION=stretch FROM debian:${DEBIAN_VERSION} +# Make "$DEBIAN_VERSION" available after FROM +# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact +ARG DEBIAN_VERSION + RUN \ dpkg --add-architecture i386 && \ DEBIAN_FRONTEND=noninteractive apt-get update && \ @@ -43,7 +47,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc # and all -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen g++ libtalloc-dev libpcsclite-dev make gcc pkgconf libtool autoconf autoconf-archive automake libortp-dev asciidoc mscgen git libsctp-dev libpcap-dev osc libc-ares-dev libgps-dev libsofia-sip-ua-glib-dev libssl-dev libsqlite3-dev libusb-dev libffi-dev libfftw3-dev flex bison libdbi-dev libsnmp-dev libncurses5-dev libgsm1-dev python-minimal python3 libdbd-sqlite3 cppcheck htop libgmp-dev gawk texinfo flex bison bc libsigsegv-dev libffi-dev libusb-1.0-0-dev libreadline-dev debhelper devscripts gcc-arm-none-eabi git-buildpackage dh-systemd dh-autoreconf bc openssh-client stow +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen g++ libtalloc-dev libpcsclite-dev make gcc pkgconf libtool autoconf autoconf-archive automake libortp-dev asciidoc mscgen git libsctp-dev libpcap-dev osc libc-ares-dev libgps-dev libsofia-sip-ua-glib-dev libssl-dev libsqlite3-dev libusb-dev libffi-dev libfftw3-dev flex bison libdbi-dev libsnmp-dev libncurses5-dev libgsm1-dev python-minimal python3 libdbd-sqlite3 cppcheck htop libgmp-dev gawk texinfo flex bison bc libsigsegv-dev libffi-dev libusb-1.0-0-dev libreadline-dev debhelper devscripts gcc-arm-none-eabi git-buildpackage dh-systemd dh-autoreconf bc openssh-client stow libnewlib-arm-none-eabi libaio-dev libasound2-dev libzmq3-dev libmnl-dev libboost-all-dev sdcc liboping-dev libcsv-dev systemd # Add rpath to binaries RUN DEBIAN_FRONTEND=noninteractive apt-get install -y patchelf @@ -69,3 +73,14 @@ # Code coverage tools RUN DEBIAN_FRONTEND=noninteractive apt-get install -y lcov RUN pip3 install git+https://github.com/eriwen/lcov-to-cobertura-xml/ + +# osmo-remsim needs libulfius (which indirectly depends on systemd, installed above) +ARG LIBULFIUS_VER="2.6.4" +ARG LIBULFIUS_PATH="https://github.com/babelouest/ulfius/releases/download/v${LIBULFIUS_VER}" +ADD ${LIBULFIUS_PATH}/libulfius-dev_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.deb /tmp/ulfius/libulfius-dev.deb +ADD ${LIBULFIUS_PATH}/ulfius-dev-full_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.tar.gz /tmp/ulfius/all.tar.gz +RUN cd /tmp/ulfius \ + && tar -xvf all.tar.gz \ + && DEBIAN_FRONTEND=noninteractive apt install -y /tmp/ulfius/*.deb \ + && cd ~ \ + && rm -r /tmp/ulfius -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 Gerrit-Change-Number: 15759 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 Oct 11 08:01:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:01:24 +0000 Subject: Change in ...osmo-ci[master]: docker: chown -R build:build /usr/local Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 Change subject: docker: chown -R build:build /usr/local ...................................................................... docker: chown -R build:build /usr/local Prepare to run osmo-python-tests in docker. I've noticed that its contrib/jenkins.sh tries to write to /usr/local, which makes sense for the "update-osmo-python-on-slaves" job to actually deploy new versions. However, the same script gets called in gerrit-verifications too, and there we should definitively not install a version that is still in review to whichever random buildslave that is executing the gerrit-verification job! The follow-up patch for building most Osmocom projects in docker will fix this bug. Related: OS#3726 Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/60/15760/1 diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 62855c9..6759944 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -84,3 +84,6 @@ && DEBIAN_FRONTEND=noninteractive apt install -y /tmp/ulfius/*.deb \ && cd ~ \ && rm -r /tmp/ulfius + +# osmo-python-tests' contrib/jenkins.sh writes to /usr/local as user +RUN chown -R build:build /usr/local -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 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 Oct 11 08:01:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:01:25 +0000 Subject: Change in ...osmo-ci[master]: docker: only one apt/pip cmd for installing deps Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... docker: only one apt/pip cmd for installing deps Make the retry logic in rebuild_osmocom_jenkins_image.sh obsolete by merging all apt commands for installing dependencies into one. This makes development easier, because the docker image will not get rebuilt again when any error happens (whether that error was related to the apt cache or not, during development it is mostly not related to the apt cache). This also makes it easier to read through the list of dependencies, and removes duplicate (or even conflicting, pkg-config vs pkgconf) entries. While at it, also merge the pip commands into one. Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 --- M docker/Dockerfile_osmocom_jenkins.amd64 M docker/rebuild_osmocom_jenkins_image.sh 2 files changed, 108 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/61/15761/1 diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 6759944..31c4695 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -5,15 +5,114 @@ # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact ARG DEBIAN_VERSION +# Install apt dependencies (keep in alphabetic order) RUN \ - dpkg --add-architecture i386 && \ - 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 + dpkg --add-architecture i386 && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + asciidoc \ + asciidoc-dblatex \ + autoconf \ + autoconf-archive \ + automake \ + bc \ + bison \ + bzip2 \ + coccinelle \ + cppcheck \ + dblatex \ + dbus \ + debhelper \ + devscripts \ + dh-autoreconf \ + dh-systemd \ + docbook5-xml \ + doxygen \ + flex \ + g++ \ + gawk \ + gcc \ + gcc-arm-none-eabi \ + git \ + git-buildpackage \ + graphviz \ + htop \ + lcov \ + libaio-dev \ + libasound2-dev \ + libboost-all-dev \ + libc-ares-dev \ + libcsv-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libffi-dev \ + libfftw3-dev \ + libgmp-dev \ + libgnutls28-dev \ + libgps-dev \ + libgsm1-dev \ + liblua5.3-dev \ + libmnl-dev \ + libncurses5-dev \ + libnewlib-arm-none-eabi \ + liboping-dev \ + libortp-dev \ + libpcap-dev \ + libpcsclite-dev \ + libreadline-dev \ + libsctp-dev \ + libsigsegv-dev \ + libsnmp-dev \ + libsofia-sip-ua-glib-dev \ + libsqlite3-dev \ + libssl-dev \ + libtalloc-dev \ + libtool \ + libusb-1.0-0-dev \ + libusb-dev \ + libxml2-utils \ + libzmq3-dev \ + lua-socket \ + make \ + mscgen \ + ofono \ + openssh-client \ + osc \ + patchelf \ + pkg-config \ + python \ + python3 \ + python3-gi \ + python3-mako \ + python3-pip \ + python3-pyflakes \ + python3-setuptools \ + python3-usb \ + python3-yaml \ + python-minimal \ + python-nwdiag \ + python-pip \ + python-pychart \ + python-setuptools \ + rsync \ + sdcc \ + sqlite3 \ + stow \ + sudo \ + systemd \ + tcpdump \ + texinfo \ + unzip \ + wget \ + xsltproc -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc g++ make git -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends sudo -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends unzip bzip2 python +# Install pip dependencies (keep in alphabetic order) +RUN pip3 install \ + git+https://github.com/podshumok/python-smpplib.git \ + git+https://github.com/eriwen/lcov-to-cobertura-xml.git \ + pydbus \ + pysispm # match the outside user RUN useradd --uid=1000 build @@ -22,43 +121,7 @@ RUN mkdir /build RUN chown build:build /build -# still generic -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends doxygen git asciidoc rsync coccinelle - -# for GNU smalltalk -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends flex bison libsigsegv-dev libffi-dev texinfo - -# libosmo-sccp/abis/etc -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 - -# building -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libtool pkg-config automake autoconf - -# for osmo-python-tests -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 asciidoc-dblatex - -# Linux kernel -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc - -# and all -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen g++ libtalloc-dev libpcsclite-dev make gcc pkgconf libtool autoconf autoconf-archive automake libortp-dev asciidoc mscgen git libsctp-dev libpcap-dev osc libc-ares-dev libgps-dev libsofia-sip-ua-glib-dev libssl-dev libsqlite3-dev libusb-dev libffi-dev libfftw3-dev flex bison libdbi-dev libsnmp-dev libncurses5-dev libgsm1-dev python-minimal python3 libdbd-sqlite3 cppcheck htop libgmp-dev gawk texinfo flex bison bc libsigsegv-dev libffi-dev libusb-1.0-0-dev libreadline-dev debhelper devscripts gcc-arm-none-eabi git-buildpackage dh-systemd dh-autoreconf bc openssh-client stow libnewlib-arm-none-eabi libaio-dev libasound2-dev libzmq3-dev libmnl-dev libboost-all-dev sdcc liboping-dev libcsv-dev systemd - -# Add rpath to binaries -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y patchelf - -# Be able to run the osmo-gsm-tester -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y dbus tcpdump sqlite3 python3 python3-yaml python3-mako python3-gi ofono python3-pip python3-usb lua-socket -RUN pip3 install git+git://github.com/podshumok/python-smpplib.git -RUN pip3 install pydbus -RUN pip3 install pysispm -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python3-pyflakes - +# Install osmo-python-tests ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/commit RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && ./contrib/jenkins.sh @@ -70,10 +133,6 @@ update-locale LANG=en_US.UTF-8 ENV LANG en_US.UTF-8 -# Code coverage tools -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y lcov -RUN pip3 install git+https://github.com/eriwen/lcov-to-cobertura-xml/ - # osmo-remsim needs libulfius (which indirectly depends on systemd, installed above) ARG LIBULFIUS_VER="2.6.4" ARG LIBULFIUS_PATH="https://github.com/babelouest/ulfius/releases/download/v${LIBULFIUS_VER}" diff --git a/docker/rebuild_osmocom_jenkins_image.sh b/docker/rebuild_osmocom_jenkins_image.sh index 60c516b..5d14d83 100755 --- a/docker/rebuild_osmocom_jenkins_image.sh +++ b/docker/rebuild_osmocom_jenkins_image.sh @@ -2,12 +2,8 @@ # Executes docker build with the given parameters and retry in case of error. function build_once() { - # In case the debian apt archive has become out of sync, try a - # --no-cache build if it fails. - # shellcheck disable=SC2068 - docker build $@ -f Dockerfile_osmocom_jenkins.amd64 . \ - || docker build --no-cache $@ -f Dockerfile_osmocom_jenkins.amd64 . + docker build $@ -f Dockerfile_osmocom_jenkins.amd64 . } # Builds a container with a debian version and tag name as parameter. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 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 Oct 11 08:02:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:02:12 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: build almost all 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 almost all in docker ...................................................................... Patch Set 6: Verified+1 Tested with all projects. -- 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: 6 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 08:02: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 Oct 11 08:16:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:16:01 +0000 Subject: Change in ...osmo-ci[master]: docker: add more dependencies In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/15759 ) Change subject: docker: add more dependencies ...................................................................... docker: add more dependencies Prepare for building almost all Osmocom repositories in docker, by installing new required dependencies: * libaio-dev: needed for osmo-ccid-firmware * libasound2-dev: needed for gapk * libboost-all-dev: needed for libusrp * libcsv-dev: needed for osmo-remsim * libmnl-dev: needed for libgtpnl * libnewlib-arm-none-eabi: needed to cross compile libosmocore to arm * liboping-dev: needed for osmo-sysmon * libulfius: needed for osmo-remsim (libulfius is not packaged in debian stretch, download the project's official .deb release instead) * libzmq3-dev: needed for osmo-pcap * sdcc: needed for libusrp * systemd: needed for osmo-remsim (provides systemd.pc, indirect dependency through libulfius) Related: OS#3726 Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 16 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/59/15759/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 Gerrit-Change-Number: 15759 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 Fri Oct 11 08:16:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:16:01 +0000 Subject: Change in ...osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... docker: chown -R build:build /usr/local Prepare to run osmo-python-tests in docker. I've noticed that its contrib/jenkins.sh tries to write to /usr/local, which makes sense for the "update-osmo-python-on-slaves" job to actually deploy new versions. However, the same script gets called in gerrit-verifications too, and there we should definitively not install a version that is still in review to whichever random buildslave that is executing the gerrit-verification job! The follow-up patch for building most Osmocom projects in docker will fix this bug. Related: OS#3726 Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/60/15760/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 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 Fri Oct 11 08:16:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:16:01 +0000 Subject: Change in ...osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... docker: only one apt/pip cmd for installing deps Make the retry logic in rebuild_osmocom_jenkins_image.sh obsolete by merging all apt commands for installing dependencies into one. This makes development easier, because the docker image will not get rebuilt again when any error happens (whether that error was related to the apt cache or not, during development it is mostly not related to the apt cache). This also makes it easier to read through the list of dependencies, and removes duplicate (or even conflicting, pkg-config vs pkgconf) entries. While at it, also merge the pip commands into one. Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 --- M docker/Dockerfile_osmocom_jenkins.amd64 M docker/rebuild_osmocom_jenkins_image.sh 2 files changed, 110 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/61/15761/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 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 Fri Oct 11 08:24:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:24:51 +0000 Subject: Change in ...osmo-ci[master]: docker: add more dependencies In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15759 ) Change subject: docker: add more dependencies ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 Gerrit-Change-Number: 15759 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 08:24: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 Oct 11 08:24:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:24:56 +0000 Subject: Change in ...osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 08:24: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 Oct 11 08:25:03 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:25:03 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: build almost all 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 almost all in docker ...................................................................... Patch Set 7: Verified+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: 7 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 08: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 Fri Oct 11 08:25:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:25:08 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: default to concurrent: true In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15585 ) Change subject: gerrit, master builds: default to concurrent: true ...................................................................... Patch Set 7: Verified+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: 7 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 08:25: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 Oct 11 08:25:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 08:25:12 +0000 Subject: Change in ...osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 08:25: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 Oct 11 09:49:57 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 09:49:57 +0000 Subject: Change in ...osmo-ci[master]: build-old-tags: remove LD_LIBRARY_PATH Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15762 Change subject: build-old-tags: remove LD_LIBRARY_PATH ...................................................................... build-old-tags: remove LD_LIBRARY_PATH Do not set LD_LIBRARY_PATH during builds, as this causes testsuites to use the wrong libraries. This bug appeared with libosmocore, it gets built for master first, and then an old version like 1.2.0. When using LD_LIBRARY_PATH, the tests during the 1.2.0 build are executed against the libosmo*.so from master, which causes a few tests to fail. Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/62/15762/1 diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index c5e9685..58a0009 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -152,7 +152,6 @@ if ! PATH="$PWD:$PATH"\ PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$TEMP/inst_legacy/lib/pkgconfig:$PKG_CONFIG_PATH" \ - LD_LIBRARY_PATH="$TEMP/inst_master/lib:$TEMP/inst_legacy/lib:$LD_LIBRARY_PATH" \ MAKE="make" \ PARALLEL_MAKE="$PARALLEL_MAKE" \ CHECK="$check" \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 Gerrit-Change-Number: 15762 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 Oct 11 09:55:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 09:55:51 +0000 Subject: Change in ...osmo-ci[master]: build-old-tags: remove LD_LIBRARY_PATH In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15762 ) Change subject: build-old-tags: remove LD_LIBRARY_PATH ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 Gerrit-Change-Number: 15762 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 09:55:51 +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 Oct 11 10:40:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 10:40:25 +0000 Subject: Change in osmo-ci[master]: docker: add more dependencies In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15759 ) Change subject: docker: add more dependencies ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 Gerrit-Change-Number: 15759 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:40: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 Oct 11 10:41:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 10:41:58 +0000 Subject: Change in osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15760/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15760/2/docker/Dockerfile_osmocom_jenkins.amd64 at 89 PS2, Line 89: RUN chown -R build:build /usr/local What about changing the dest directory in the script when run from a gerrit job? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:41:58 +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 Oct 11 10:46:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:46:00 +0000 Subject: Change in osmo-bts[master]: log: set L1 SAPI log 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 log context ...................................................................... Patch Set 9: Code-Review+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: 9 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, 11 Oct 2019 10:46: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 Oct 11 10:46:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:46:03 +0000 Subject: Change in osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) 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. In this patch, the SAPI context is set for the PHYs where the SAPI is readily available. With additional conversion from the RSL channel, the SAPI context could be set for osmo-bts-trx in a follow up patch. 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, 293 insertions(+), 0 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/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index 7ae5d38..1883869 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -96,6 +96,37 @@ int l1sap_chan_deact_sacch(struct gsm_bts_trx *trx, uint8_t chan_nr); int l1sap_chan_modify(struct gsm_bts_trx *trx, uint8_t chan_nr); +enum l1sap_common_sapi { + L1SAP_COMMON_SAPI_UNKNOWN, + /* alphabetic order */ + L1SAP_COMMON_SAPI_AGCH, + L1SAP_COMMON_SAPI_BCCH, + L1SAP_COMMON_SAPI_CBCH, + L1SAP_COMMON_SAPI_FACCH_F, + L1SAP_COMMON_SAPI_FACCH_H, + L1SAP_COMMON_SAPI_FCCH, + L1SAP_COMMON_SAPI_IDLE, + L1SAP_COMMON_SAPI_NCH, + L1SAP_COMMON_SAPI_PACCH, + L1SAP_COMMON_SAPI_PAGCH, + L1SAP_COMMON_SAPI_PBCCH, + L1SAP_COMMON_SAPI_PCH, + L1SAP_COMMON_SAPI_PDTCH, + L1SAP_COMMON_SAPI_PNCH, + L1SAP_COMMON_SAPI_PPCH, + L1SAP_COMMON_SAPI_PRACH, + L1SAP_COMMON_SAPI_PTCCH, + L1SAP_COMMON_SAPI_RACH, + L1SAP_COMMON_SAPI_SACCH, + L1SAP_COMMON_SAPI_SCH, + L1SAP_COMMON_SAPI_SDCCH, + L1SAP_COMMON_SAPI_TCH_F, + L1SAP_COMMON_SAPI_TCH_H, +}; + +extern uint16_t l1sap_log_ctx_sapi; +extern const struct value_string l1sap_common_sapi_names[]; + extern const struct value_string gsmtap_sapi_names[]; extern struct gsmtap_inst *gsmtap; extern uint32_t gsmtap_sapi_mask; diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 2008f0e..7c54380 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -257,6 +257,85 @@ return check_for_ciph_cmd(msg, lchan, chan_nr); } +uint16_t l1sap_log_ctx_sapi; + +const struct value_string l1sap_common_sapi_names[] = { + { L1SAP_COMMON_SAPI_UNKNOWN, "UNKNOWN" }, + /* alphabetic order */ + { L1SAP_COMMON_SAPI_AGCH, "AGCH" }, + { L1SAP_COMMON_SAPI_BCCH, "BCCH" }, + { L1SAP_COMMON_SAPI_CBCH, "CBCH" }, + { L1SAP_COMMON_SAPI_FACCH_F, "FACCH/F" }, + { L1SAP_COMMON_SAPI_FACCH_H, "FACCH/H" }, + { L1SAP_COMMON_SAPI_FCCH, "FCCH" }, + { L1SAP_COMMON_SAPI_IDLE, "IDLE" }, + { L1SAP_COMMON_SAPI_NCH, "NCH" }, + { L1SAP_COMMON_SAPI_PACCH, "PACCH" }, + { L1SAP_COMMON_SAPI_PAGCH, "PAGCH" }, + { L1SAP_COMMON_SAPI_PBCCH, "PBCCH" }, + { L1SAP_COMMON_SAPI_PCH, "PCH" }, + { L1SAP_COMMON_SAPI_PDTCH, "PDTCH" }, + { L1SAP_COMMON_SAPI_PNCH, "PNCH" }, + { L1SAP_COMMON_SAPI_PPCH, "PPCH" }, + { L1SAP_COMMON_SAPI_PRACH, "PRACH" }, + { L1SAP_COMMON_SAPI_PTCCH, "PTCCH" }, + { L1SAP_COMMON_SAPI_RACH, "RACH" }, + { L1SAP_COMMON_SAPI_SACCH, "SACCH" }, + { L1SAP_COMMON_SAPI_SCH, "SCH" }, + { L1SAP_COMMON_SAPI_SDCCH, "SDCCH" }, + { L1SAP_COMMON_SAPI_TCH_F, "TCH/F" }, + { L1SAP_COMMON_SAPI_TCH_H, "TCH/H" }, + { 0, NULL } +}; + +static enum l1sap_common_sapi get_common_sapi_ph_data(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) +{ + uint8_t link_id = l1sap->u.data.link_id; + uint8_t chan_nr = l1sap->u.data.chan_nr; + uint32_t u32Fn = l1sap->u.data.fn; + + if (L1SAP_IS_CHAN_TCHF(chan_nr)) + return L1SAP_COMMON_SAPI_TCH_F; + + if (L1SAP_IS_CHAN_TCHH(chan_nr)) + return L1SAP_COMMON_SAPI_TCH_H; + + if (L1SAP_IS_CHAN_SDCCH4(chan_nr) || L1SAP_IS_CHAN_SDCCH8(chan_nr)) + return L1SAP_COMMON_SAPI_SDCCH; + + if (L1SAP_IS_CHAN_BCCH(chan_nr)) + return L1SAP_COMMON_SAPI_BCCH; + + if (L1SAP_IS_CHAN_AGCH_PCH(chan_nr)) + /* The sapi depends on DSP configuration, not on the actual SYSTEM INFORMATION 3. */ + return ((l1sap_fn2ccch_block(u32Fn) >= num_agch(trx, "PH-DATA-REQ")) + ? L1SAP_COMMON_SAPI_PCH + : L1SAP_COMMON_SAPI_AGCH); + + if (L1SAP_IS_CHAN_CBCH(chan_nr)) + return L1SAP_COMMON_SAPI_CBCH; + + if (L1SAP_IS_LINK_SACCH(link_id)) + return L1SAP_COMMON_SAPI_SACCH; + + return L1SAP_COMMON_SAPI_UNKNOWN; +} + +static enum l1sap_common_sapi get_common_sapi_by_trx_prim(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) +{ + /* Only downlink prims are relevant */ + switch (OSMO_PRIM_HDR(&l1sap->oph)) { + case OSMO_PRIM(PRIM_PH_DATA, PRIM_OP_REQUEST): + if (ts_is_pdch(&trx->ts[L1SAP_CHAN2TS(l1sap->u.data.chan_nr)])) + return ((L1SAP_IS_PTCCH(l1sap->u.data.fn)) + ? L1SAP_COMMON_SAPI_PTCCH + : L1SAP_COMMON_SAPI_PDTCH); + return get_common_sapi_ph_data(trx, l1sap); + default: + return L1SAP_COMMON_SAPI_UNKNOWN; + } +} + struct gsmtap_inst *gsmtap = NULL; uint32_t gsmtap_sapi_mask = 0; uint8_t gsmtap_sapi_acch = 0; @@ -1455,6 +1534,9 @@ /* any L1 prim sent to bts model */ static int l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { + l1sap_log_ctx_sapi = get_common_sapi_by_trx_prim(trx, l1sap); + log_set_context(LOG_CTX_L1_SAPI, &l1sap_log_ctx_sapi); + if (OSMO_PRIM_HDR(&l1sap->oph) == OSMO_PRIM(PRIM_PH_DATA, PRIM_OP_REQUEST)) to_gsmtap(trx, l1sap); diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 2ac0b7a..d7e0cde 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -795,6 +795,45 @@ return (cbits << 3) | u8Tn; } +static const enum l1sap_common_sapi common_sapi_by_sapi_t[] = { + [GsmL1_Sapi_Idle] = L1SAP_COMMON_SAPI_IDLE, + [GsmL1_Sapi_Fcch] = L1SAP_COMMON_SAPI_FCCH, + [GsmL1_Sapi_Sch] = L1SAP_COMMON_SAPI_SCH, + [GsmL1_Sapi_Sacch] = L1SAP_COMMON_SAPI_SACCH, + [GsmL1_Sapi_Sdcch] = L1SAP_COMMON_SAPI_SDCCH, + [GsmL1_Sapi_Bcch] = L1SAP_COMMON_SAPI_BCCH, + [GsmL1_Sapi_Pch] = L1SAP_COMMON_SAPI_PCH, + [GsmL1_Sapi_Agch] = L1SAP_COMMON_SAPI_AGCH, + [GsmL1_Sapi_Cbch] = L1SAP_COMMON_SAPI_CBCH, + [GsmL1_Sapi_Rach] = L1SAP_COMMON_SAPI_RACH, + [GsmL1_Sapi_TchF] = L1SAP_COMMON_SAPI_TCH_F, + [GsmL1_Sapi_FacchF] = L1SAP_COMMON_SAPI_FACCH_F, + [GsmL1_Sapi_TchH] = L1SAP_COMMON_SAPI_TCH_H, + [GsmL1_Sapi_FacchH] = L1SAP_COMMON_SAPI_FACCH_H, + [GsmL1_Sapi_Nch] = L1SAP_COMMON_SAPI_NCH, + [GsmL1_Sapi_Pdtch] = L1SAP_COMMON_SAPI_PDTCH, + [GsmL1_Sapi_Pacch] = L1SAP_COMMON_SAPI_PACCH, + [GsmL1_Sapi_Pbcch] = L1SAP_COMMON_SAPI_PBCCH, + [GsmL1_Sapi_Pagch] = L1SAP_COMMON_SAPI_PAGCH, + [GsmL1_Sapi_Ppch] = L1SAP_COMMON_SAPI_PPCH, + [GsmL1_Sapi_Pnch] = L1SAP_COMMON_SAPI_PNCH, + [GsmL1_Sapi_Ptcch] = L1SAP_COMMON_SAPI_PTCCH, + [GsmL1_Sapi_Prach] = L1SAP_COMMON_SAPI_PRACH, +}; + +static enum l1sap_common_sapi get_common_sapi(GsmL1_Sapi_t sapi) +{ + if (sapi >= GsmL1_Sapi_NUM) + return L1SAP_COMMON_SAPI_UNKNOWN; + return common_sapi_by_sapi_t[sapi]; +} + +static void set_log_ctx_sapi(GsmL1_Sapi_t sapi) +{ + l1sap_log_ctx_sapi = get_common_sapi(sapi); + log_set_context(LOG_CTX_L1_SAPI, &l1sap_log_ctx_sapi); +} + static int handle_ph_readytosend_ind(struct lc15l1_hdl *fl1, GsmL1_PhReadyToSendInd_t *rts_ind, struct msgb *l1p_msg) @@ -811,6 +850,8 @@ uint8_t chan_nr, link_id; uint32_t fn; + set_log_ctx_sapi(rts_ind->sapi); + /* check if primitive should be handled by common part */ chan_nr = chan_nr_by_sapi(&trx->ts[rts_ind->u8Tn], rts_ind->sapi, rts_ind->subCh, rts_ind->u8Tn, rts_ind->u32Fn); @@ -933,6 +974,8 @@ int rc = 0; int8_t rssi; + set_log_ctx_sapi(data_ind->sapi); + chan_nr = chan_nr_by_sapi(&trx->ts[data_ind->u8Tn], data_ind->sapi, data_ind->subCh, data_ind->u8Tn, data_ind->u32Fn); fn = data_ind->u32Fn; @@ -1002,6 +1045,7 @@ int rc; struct ph_rach_ind_param rach_ind_param; + set_log_ctx_sapi(ra_ind->sapi); dump_meas_res(LOGL_DEBUG, &ra_ind->measParam); if ((ra_ind->msgUnitParam.u8Size != 1) && diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index d987bb5..d8be2d6 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -847,6 +847,45 @@ return (cbits << 3) | u8Tn; } +static const enum l1sap_common_sapi common_sapi_by_sapi_t[] = { + [GsmL1_Sapi_Idle] = L1SAP_COMMON_SAPI_IDLE, + [GsmL1_Sapi_Fcch] = L1SAP_COMMON_SAPI_FCCH, + [GsmL1_Sapi_Sch] = L1SAP_COMMON_SAPI_SCH, + [GsmL1_Sapi_Sacch] = L1SAP_COMMON_SAPI_SACCH, + [GsmL1_Sapi_Sdcch] = L1SAP_COMMON_SAPI_SDCCH, + [GsmL1_Sapi_Bcch] = L1SAP_COMMON_SAPI_BCCH, + [GsmL1_Sapi_Pch] = L1SAP_COMMON_SAPI_PCH, + [GsmL1_Sapi_Agch] = L1SAP_COMMON_SAPI_AGCH, + [GsmL1_Sapi_Cbch] = L1SAP_COMMON_SAPI_CBCH, + [GsmL1_Sapi_Rach] = L1SAP_COMMON_SAPI_RACH, + [GsmL1_Sapi_TchF] = L1SAP_COMMON_SAPI_TCH_F, + [GsmL1_Sapi_FacchF] = L1SAP_COMMON_SAPI_FACCH_F, + [GsmL1_Sapi_TchH] = L1SAP_COMMON_SAPI_TCH_H, + [GsmL1_Sapi_FacchH] = L1SAP_COMMON_SAPI_FACCH_H, + [GsmL1_Sapi_Nch] = L1SAP_COMMON_SAPI_NCH, + [GsmL1_Sapi_Pdtch] = L1SAP_COMMON_SAPI_PDTCH, + [GsmL1_Sapi_Pacch] = L1SAP_COMMON_SAPI_PACCH, + [GsmL1_Sapi_Pbcch] = L1SAP_COMMON_SAPI_PBCCH, + [GsmL1_Sapi_Pagch] = L1SAP_COMMON_SAPI_PAGCH, + [GsmL1_Sapi_Ppch] = L1SAP_COMMON_SAPI_PPCH, + [GsmL1_Sapi_Pnch] = L1SAP_COMMON_SAPI_PNCH, + [GsmL1_Sapi_Ptcch] = L1SAP_COMMON_SAPI_PTCCH, + [GsmL1_Sapi_Prach] = L1SAP_COMMON_SAPI_PRACH, +}; + +static enum l1sap_common_sapi get_common_sapi(GsmL1_Sapi_t sapi) +{ + if (sapi >= GsmL1_Sapi_NUM) + return L1SAP_COMMON_SAPI_UNKNOWN; + return common_sapi_by_sapi_t[sapi]; +} + +static void set_log_ctx_sapi(GsmL1_Sapi_t sapi) +{ + l1sap_log_ctx_sapi = get_common_sapi(sapi); + log_set_context(LOG_CTX_L1_SAPI, &l1sap_log_ctx_sapi); +} + static int handle_ph_readytosend_ind(struct oc2gl1_hdl *fl1, GsmL1_PhReadyToSendInd_t *rts_ind, struct msgb *l1p_msg) @@ -863,6 +902,8 @@ uint8_t chan_nr, link_id; uint32_t fn; + set_log_ctx_sapi(rts_ind->sapi); + /* check if primitive should be handled by common part */ chan_nr = chan_nr_by_sapi(&trx->ts[rts_ind->u8Tn], rts_ind->sapi, rts_ind->subCh, rts_ind->u8Tn, rts_ind->u32Fn); @@ -989,6 +1030,8 @@ int rc = 0; int8_t rssi; + set_log_ctx_sapi(data_ind->sapi); + chan_nr = chan_nr_by_sapi(&trx->ts[data_ind->u8Tn], data_ind->sapi, data_ind->subCh, data_ind->u8Tn, data_ind->u32Fn); fn = data_ind->u32Fn; @@ -1058,6 +1101,7 @@ int rc; struct ph_rach_ind_param rach_ind_param; + set_log_ctx_sapi(ra_ind->sapi); dump_meas_res(LOGL_DEBUG, &ra_ind->measParam); if ((ra_ind->msgUnitParam.u8Size != 1) && diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index 612c29a..bf2fa35 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -938,6 +938,47 @@ return 0; } +/* octv1_gsm_api.h does not have an end marker for CTVC1_GSM_SAPI_ENUM */ +#define _OCTVC1_GSM_SAPI_ENUM_LENGTH (cOCTVC1_GSM_SAPI_ENUM_PRACH + 1) + +static const enum l1sap_common_sapi common_sapi_by_oct_sapi[] = { + [cOCTVC1_GSM_SAPI_ENUM_IDLE] = L1SAP_COMMON_SAPI_IDLE, + [cOCTVC1_GSM_SAPI_ENUM_FCCH] = L1SAP_COMMON_SAPI_FCCH, + [cOCTVC1_GSM_SAPI_ENUM_SCH] = L1SAP_COMMON_SAPI_SCH, + [cOCTVC1_GSM_SAPI_ENUM_SACCH] = L1SAP_COMMON_SAPI_SACCH, + [cOCTVC1_GSM_SAPI_ENUM_SDCCH] = L1SAP_COMMON_SAPI_SDCCH, + [cOCTVC1_GSM_SAPI_ENUM_BCCH] = L1SAP_COMMON_SAPI_BCCH, + [cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH] = L1SAP_COMMON_SAPI_PCH, + [cOCTVC1_GSM_SAPI_ENUM_CBCH] = L1SAP_COMMON_SAPI_CBCH, + [cOCTVC1_GSM_SAPI_ENUM_RACH] = L1SAP_COMMON_SAPI_RACH, + [cOCTVC1_GSM_SAPI_ENUM_TCHF] = L1SAP_COMMON_SAPI_TCH_F, + [cOCTVC1_GSM_SAPI_ENUM_FACCHF] = L1SAP_COMMON_SAPI_FACCH_F, + [cOCTVC1_GSM_SAPI_ENUM_TCHH] = L1SAP_COMMON_SAPI_TCH_H, + [cOCTVC1_GSM_SAPI_ENUM_FACCHH] = L1SAP_COMMON_SAPI_FACCH_H, + [cOCTVC1_GSM_SAPI_ENUM_NCH] = L1SAP_COMMON_SAPI_NCH, + [cOCTVC1_GSM_SAPI_ENUM_PDTCH] = L1SAP_COMMON_SAPI_PDTCH, + [cOCTVC1_GSM_SAPI_ENUM_PACCH] = L1SAP_COMMON_SAPI_PACCH, + [cOCTVC1_GSM_SAPI_ENUM_PBCCH] = L1SAP_COMMON_SAPI_PBCCH, + [cOCTVC1_GSM_SAPI_ENUM_PAGCH] = L1SAP_COMMON_SAPI_PAGCH, + [cOCTVC1_GSM_SAPI_ENUM_PPCH] = L1SAP_COMMON_SAPI_PPCH, + [cOCTVC1_GSM_SAPI_ENUM_PNCH] = L1SAP_COMMON_SAPI_PNCH, + [cOCTVC1_GSM_SAPI_ENUM_PTCCH] = L1SAP_COMMON_SAPI_PTCCH, + [cOCTVC1_GSM_SAPI_ENUM_PRACH] = L1SAP_COMMON_SAPI_PRACH, +}; + +static enum l1sap_common_sapi get_common_sapi(tOCT_UINT8 sapi) +{ + if (sapi >= _OCTVC1_GSM_SAPI_ENUM_LENGTH) + return L1SAP_COMMON_SAPI_UNKNOWN; + return common_sapi_by_oct_sapi[sapi]; +} + +static void set_log_ctx_sapi(tOCT_UINT8 sapi) +{ + l1sap_log_ctx_sapi = get_common_sapi(sapi); + log_set_context(LOG_CTX_L1_SAPI, &l1sap_log_ctx_sapi); +} + static int handle_ph_readytosend_ind(struct octphy_hdl *fl1, tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT *evt, struct msgb *l1p_msg) @@ -955,6 +996,8 @@ struct msgb *resp_msg; tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD *data_req; + set_log_ctx_sapi(evt->LchId.bySAPI); + /* Retrive the data */ fn = evt->ulFrameNumber; ts_num = (uint8_t) evt->LchId.byTimeslotNb; @@ -1079,6 +1122,8 @@ uint8_t ts_num = (uint8_t) data_ind->LchId.byTimeslotNb; uint8_t sc = (uint8_t) data_ind->LchId.bySubChannelNb; + set_log_ctx_sapi(data_ind->LchId.bySAPI); + /* Need to combine two 16bit MSB and LSB to form 32bit FN */ fn = data_ind->Data.ulFrameNumber; @@ -1171,6 +1216,8 @@ int rc; struct ph_rach_ind_param rach_ind_param; + set_log_ctx_sapi(ra_ind->LchId.bySAPI); + dump_meas_res(LOGL_DEBUG, &ra_ind->MeasurementInfo); if (ra_ind->ulMsgLength != 1) { diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index df39e2f..199d8bd 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -796,6 +796,45 @@ return (cbits << 3) | u8Tn; } +static const enum l1sap_common_sapi common_sapi_by_sapi_t[] = { + [GsmL1_Sapi_Idle] = L1SAP_COMMON_SAPI_IDLE, + [GsmL1_Sapi_Fcch] = L1SAP_COMMON_SAPI_FCCH, + [GsmL1_Sapi_Sch] = L1SAP_COMMON_SAPI_SCH, + [GsmL1_Sapi_Sacch] = L1SAP_COMMON_SAPI_SACCH, + [GsmL1_Sapi_Sdcch] = L1SAP_COMMON_SAPI_SDCCH, + [GsmL1_Sapi_Bcch] = L1SAP_COMMON_SAPI_BCCH, + [GsmL1_Sapi_Pch] = L1SAP_COMMON_SAPI_PCH, + [GsmL1_Sapi_Agch] = L1SAP_COMMON_SAPI_AGCH, + [GsmL1_Sapi_Cbch] = L1SAP_COMMON_SAPI_CBCH, + [GsmL1_Sapi_Rach] = L1SAP_COMMON_SAPI_RACH, + [GsmL1_Sapi_TchF] = L1SAP_COMMON_SAPI_TCH_F, + [GsmL1_Sapi_FacchF] = L1SAP_COMMON_SAPI_FACCH_F, + [GsmL1_Sapi_TchH] = L1SAP_COMMON_SAPI_TCH_H, + [GsmL1_Sapi_FacchH] = L1SAP_COMMON_SAPI_FACCH_H, + [GsmL1_Sapi_Nch] = L1SAP_COMMON_SAPI_NCH, + [GsmL1_Sapi_Pdtch] = L1SAP_COMMON_SAPI_PDTCH, + [GsmL1_Sapi_Pacch] = L1SAP_COMMON_SAPI_PACCH, + [GsmL1_Sapi_Pbcch] = L1SAP_COMMON_SAPI_PBCCH, + [GsmL1_Sapi_Pagch] = L1SAP_COMMON_SAPI_PAGCH, + [GsmL1_Sapi_Ppch] = L1SAP_COMMON_SAPI_PPCH, + [GsmL1_Sapi_Pnch] = L1SAP_COMMON_SAPI_PNCH, + [GsmL1_Sapi_Ptcch] = L1SAP_COMMON_SAPI_PTCCH, + [GsmL1_Sapi_Prach] = L1SAP_COMMON_SAPI_PRACH, +}; + +static enum l1sap_common_sapi get_common_sapi(GsmL1_Sapi_t sapi) +{ + if (sapi >= GsmL1_Sapi_NUM) + return L1SAP_COMMON_SAPI_UNKNOWN; + return common_sapi_by_sapi_t[sapi]; +} + +static void set_log_ctx_sapi(GsmL1_Sapi_t sapi) +{ + l1sap_log_ctx_sapi = get_common_sapi(sapi); + log_set_context(LOG_CTX_L1_SAPI, &l1sap_log_ctx_sapi); +} + static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1, GsmL1_PhReadyToSendInd_t *rts_ind, struct msgb *l1p_msg) @@ -812,6 +851,8 @@ uint8_t chan_nr, link_id; uint32_t fn; + set_log_ctx_sapi(rts_ind->sapi); + /* check if primitive should be handled by common part */ chan_nr = chan_nr_by_sapi(&trx->ts[rts_ind->u8Tn], rts_ind->sapi, rts_ind->subCh, rts_ind->u8Tn, rts_ind->u32Fn); @@ -933,6 +974,8 @@ struct gsm_time g_time; int rc = 0; + set_log_ctx_sapi(data_ind->sapi); + chan_nr = chan_nr_by_sapi(&trx->ts[data_ind->u8Tn], data_ind->sapi, data_ind->subCh, data_ind->u8Tn, data_ind->u32Fn); if (!chan_nr) { @@ -996,6 +1039,8 @@ int rc; struct ph_rach_ind_param rach_ind_param; + set_log_ctx_sapi(ra_ind->sapi); + dump_meas_res(LOGL_DEBUG, &ra_ind->measParam); if ((ra_ind->msgUnitParam.u8Size != 1) && -- 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: 10 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: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Oct 11 10:46:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:46:49 +0000 Subject: Change in libosmocore[master]: socket.c: Move glibc workarounds to same place in addrinfo_helper() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15758 ) Change subject: socket.c: Move glibc workarounds to same place in addrinfo_helper() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifc3a30881f865f88bcfc1307a3c89c1ab79eecd4 Gerrit-Change-Number: 15758 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 11 Oct 2019 10:46: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 Fri Oct 11 10:47:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:47:18 +0000 Subject: Change in osmo-ci[master]: build-old-tags: remove LD_LIBRARY_PATH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15762 ) Change subject: build-old-tags: remove LD_LIBRARY_PATH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 Gerrit-Change-Number: 15762 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 10:47: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 Oct 11 10:47:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:47:21 +0000 Subject: Change in osmo-ci[master]: build-old-tags: remove LD_LIBRARY_PATH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15762 ) Change subject: build-old-tags: remove LD_LIBRARY_PATH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 Gerrit-Change-Number: 15762 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 10:47: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 Oct 11 10:47:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 10:47:37 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: build almost all 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 almost all in docker ...................................................................... Patch Set 7: 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: 7 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:47: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 Oct 11 10:47:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:47:49 +0000 Subject: Change in osmo-ci[master]: docker: add more dependencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15759 ) Change subject: docker: add more dependencies ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 Gerrit-Change-Number: 15759 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:47: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 Fri Oct 11 10:47:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:47:50 +0000 Subject: Change in osmo-ci[master]: docker: add more dependencies In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15759 ) Change subject: docker: add more dependencies ...................................................................... docker: add more dependencies Prepare for building almost all Osmocom repositories in docker, by installing new required dependencies: * libaio-dev: needed for osmo-ccid-firmware * libasound2-dev: needed for gapk * libboost-all-dev: needed for libusrp * libcsv-dev: needed for osmo-remsim * libmnl-dev: needed for libgtpnl * libnewlib-arm-none-eabi: needed to cross compile libosmocore to arm * liboping-dev: needed for osmo-sysmon * libulfius: needed for osmo-remsim (libulfius is not packaged in debian stretch, download the project's official .deb release instead) * libzmq3-dev: needed for osmo-pcap * sdcc: needed for libusrp * systemd: needed for osmo-remsim (provides systemd.pc, indirect dependency through libulfius) Related: OS#3726 Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 16 insertions(+), 1 deletion(-) Approvals: osmith: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 897db15..58e1ee9 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -1,6 +1,10 @@ ARG DEBIAN_VERSION=stretch FROM debian:${DEBIAN_VERSION} +# Make "$DEBIAN_VERSION" available after FROM +# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact +ARG DEBIAN_VERSION + RUN \ dpkg --add-architecture i386 && \ DEBIAN_FRONTEND=noninteractive apt-get update && \ @@ -43,7 +47,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc # and all -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen g++ libtalloc-dev libpcsclite-dev make gcc pkgconf libtool autoconf autoconf-archive automake libortp-dev asciidoc mscgen git libsctp-dev libpcap-dev osc libc-ares-dev libgps-dev libsofia-sip-ua-glib-dev libssl-dev libsqlite3-dev libusb-dev libffi-dev libfftw3-dev flex bison libdbi-dev libsnmp-dev libncurses5-dev libgsm1-dev python-minimal python3 libdbd-sqlite3 cppcheck htop libgmp-dev gawk texinfo flex bison bc libsigsegv-dev libffi-dev libusb-1.0-0-dev libreadline-dev debhelper devscripts gcc-arm-none-eabi git-buildpackage dh-systemd dh-autoreconf bc openssh-client stow +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen g++ libtalloc-dev libpcsclite-dev make gcc pkgconf libtool autoconf autoconf-archive automake libortp-dev asciidoc mscgen git libsctp-dev libpcap-dev osc libc-ares-dev libgps-dev libsofia-sip-ua-glib-dev libssl-dev libsqlite3-dev libusb-dev libffi-dev libfftw3-dev flex bison libdbi-dev libsnmp-dev libncurses5-dev libgsm1-dev python-minimal python3 libdbd-sqlite3 cppcheck htop libgmp-dev gawk texinfo flex bison bc libsigsegv-dev libffi-dev libusb-1.0-0-dev libreadline-dev debhelper devscripts gcc-arm-none-eabi git-buildpackage dh-systemd dh-autoreconf bc openssh-client stow libnewlib-arm-none-eabi libaio-dev libasound2-dev libzmq3-dev libmnl-dev libboost-all-dev sdcc liboping-dev libcsv-dev systemd # Add rpath to binaries RUN DEBIAN_FRONTEND=noninteractive apt-get install -y patchelf @@ -69,3 +73,14 @@ # Code coverage tools RUN DEBIAN_FRONTEND=noninteractive apt-get install -y lcov RUN pip3 install git+https://github.com/eriwen/lcov-to-cobertura-xml/ + +# osmo-remsim needs libulfius (which indirectly depends on systemd, installed above) +ARG LIBULFIUS_VER="2.6.4" +ARG LIBULFIUS_PATH="https://github.com/babelouest/ulfius/releases/download/v${LIBULFIUS_VER}" +ADD ${LIBULFIUS_PATH}/libulfius-dev_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.deb /tmp/ulfius/libulfius-dev.deb +ADD ${LIBULFIUS_PATH}/ulfius-dev-full_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.tar.gz /tmp/ulfius/all.tar.gz +RUN cd /tmp/ulfius && \ + tar -xvf all.tar.gz && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/ulfius/*.deb && \ + cd ~ && \ + rm -r /tmp/ulfius -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5caebd26090169cc3c9fdd1f14984ea2a75347e8 Gerrit-Change-Number: 15759 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Fri Oct 11 10:48:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 10:48:41 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: default to concurrent: true 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: default to concurrent: true ...................................................................... Patch Set 7: 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: 7 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:48: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 Oct 11 10:48:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:48:50 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: build almost all in docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15584 ) Change subject: gerrit, master builds: build almost all in docker ...................................................................... Patch Set 7: Code-Review+2 -- 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: 7 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:48: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 Fri Oct 11 10:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:49:01 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: default to concurrent: true 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: default to concurrent: true ...................................................................... Patch Set 7: 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: 7 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:49: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 Oct 11 10:49:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:49:53 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: Code-Review+1 we;ll have less benefit from cached layers this way, but I guess we'll survive. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 10:49: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 Oct 11 10:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:50:16 +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 3: Code-Review+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: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 11 Oct 2019 10: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 Fri Oct 11 10:50:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 10:50:17 +0000 Subject: Change in osmo-trx[master]: Use new libosmocore logging lock API In-Reply-To: References: Message-ID: laforge has submitted this change. ( 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(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved 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 9fe6585..6b83988 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -576,14 +576,11 @@ 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); - } 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: 3 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 Oct 11 10:52:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 10:52:13 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 at 14 PS2, Line 14: asciidoc \ I think it makes sense to write to the right of each line who requires the dependency, specially now that you are removing that info from below when joining all apt install lines together. For instance: liblua5.3-dev \ # osmocom-bb -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 10:52: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 Fri Oct 11 11:03:31 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:03:31 +0000 Subject: Change in osmo-ci[master]: build-old-tags: remove LD_LIBRARY_PATH In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15762 ) Change subject: build-old-tags: remove LD_LIBRARY_PATH ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 Gerrit-Change-Number: 15762 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 11: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 Fri Oct 11 11:03:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:03:39 +0000 Subject: Change in osmo-ci[master]: build-old-tags: remove LD_LIBRARY_PATH In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15762 ) Change subject: build-old-tags: remove LD_LIBRARY_PATH ...................................................................... build-old-tags: remove LD_LIBRARY_PATH Do not set LD_LIBRARY_PATH during builds, as this causes testsuites to use the wrong libraries. This bug appeared with libosmocore, it gets built for master first, and then an old version like 1.2.0. When using LD_LIBRARY_PATH, the tests during the 1.2.0 build are executed against the libosmo*.so from master, which causes a few tests to fail. Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index c5e9685..58a0009 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -152,7 +152,6 @@ if ! PATH="$PWD:$PATH"\ PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$TEMP/inst_legacy/lib/pkgconfig:$PKG_CONFIG_PATH" \ - LD_LIBRARY_PATH="$TEMP/inst_master/lib:$TEMP/inst_legacy/lib:$LD_LIBRARY_PATH" \ MAKE="make" \ PARALLEL_MAKE="$PARALLEL_MAKE" \ CHECK="$check" \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6 Gerrit-Change-Number: 15762 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Oct 11 11:05:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:05:37 +0000 Subject: Change in osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15760/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15760/2/docker/Dockerfile_osmocom_jenkins.amd64 at 89 PS2, Line 89: RUN chown -R build:build /usr/local > What about changing the dest directory in the script when run from a gerrit job? We could do that, but I don't see that this has any benefit over this patch. I'd rather finish this up :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:05:37 +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 Oct 11 11:12:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 11:12:19 +0000 Subject: Change in osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... Patch Set 2: Well it feels non-usual to have /usr/local as non-root I guess, which could mask issues in the future, but fine, go on, let's not spend time on this since I understand the other way is more time-consuming to get done correctly. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:12: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 Fri Oct 11 11:13:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:13:09 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 at 14 PS2, Line 14: asciidoc \ > I think it makes sense to write to the right of each line who requires the dependency, specially now [?] This would be great, but I'm not aware of a syntax where this is possible. DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ asciidoc \ # some comment asciidoc-dblatex \ autoconf \ ... gives: Error response from daemon: Dockerfile parse error line 15: unknown instruction: ASCIIDOC-DBLATEX -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:13:09 +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 Oct 11 11:15:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 11:15:01 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 at 14 PS2, Line 14: asciidoc \ > This would be great, but I'm not aware of a syntax where this is possible. [?] And "asciidoc # some comment \" ? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:15:01 +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 Fri Oct 11 11:18:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:18:11 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 at 14 PS2, Line 14: asciidoc \ > And "asciidoc # some comment \" ? This causes everything below to get commented out, with the provided example it will only install asciidoc (plus asciidoc dependencies), and nothing below. The following additional packages will be installed: asciidoc-base asciidoc-common libexpat1 libffi6 libicu57 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libreadline7 libsqlite3-0 libssl1.1 libxml2 libxml2-utils mime-support python python-minimal python2.7 python2.7-minimal readline-common -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:18:11 +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 Fri Oct 11 11:24:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:24:11 +0000 Subject: Change in osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... Patch Set 2: > Patch Set 2: > > Well it feels non-usual to have /usr/local as non-root I guess, which could mask issues in the future, but fine, go on, let's not spend time on this since I understand the other way is more time-consuming to get done correctly. Yes, I think it is slightly more time consuming. FWIW, we are doing the same thing in ansible/roles/osmocom-jenkins-slave/tasks/generic-slave.yml. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:24: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 Fri Oct 11 11:26:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 11:26:06 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 at 14 PS2, Line 14: asciidoc \ > This causes everything below to get commented out, with the provided example it will only install as [?] damn what a pity You can do it this way: https://unix.stackexchange.com/questions/350794/how-to-add-comments-on-multiline-statements-on-bash-script ... asciidoc-dblatex \ # Required by osmocom-bb: autoconf \ ... I leave it up to you. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:26:06 +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 Fri Oct 11 11:33:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:33:20 +0000 Subject: Change in libosmocore[master]: socket.c: Move glibc workarounds to same place in addrinfo_helper() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15758 ) Change subject: socket.c: Move glibc workarounds to same place in addrinfo_helper() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifc3a30881f865f88bcfc1307a3c89c1ab79eecd4 Gerrit-Change-Number: 15758 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 11:33: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 Fri Oct 11 11:54:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 11:54:53 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 File docker/Dockerfile_osmocom_jenkins.amd64: https://gerrit.osmocom.org/c/osmo-ci/+/15761/2/docker/Dockerfile_osmocom_jenkins.amd64 at 14 PS2, Line 14: asciidoc \ > damn what a pity [?] This is funny, according to the linked thread, it should *not* work since bash would parse it as one line, probably like this: asciidoc-dblatex #Required by osmocom-bb autoconf However, when I tried it out, it did work. That must be, because the docker parser removes the comments before passing it to the shell. So I've thought about updating the patch. If we do it like that, we would need to remove the alphabetic order again, and we would basically have the categories of dependencies as we had before. But they don't seem to be so useful to me, we had "generic" dependencies at the top (without any comment), then later "still generic", "building", "and all" which are not meaningful. The others are more or less dependencies for one specific project, but still with either duplicated or an incomplete list of dependencies. With this in mind, my personal preference would be having this alphabetically sorted list without duplicates, and in the future being able to look at why dependencies were added with git blame. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 11:54:53 +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 Fri Oct 11 12:13:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 12:13:20 +0000 Subject: Change in libosmocore[master]: vty: Fix go_parent_cb not called for indented nodes at end of cfg file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15777 ) Change subject: vty: Fix go_parent_cb not called for indented nodes at end of cfg file ...................................................................... vty: Fix go_parent_cb not called for indented nodes at end of cfg file Without this patch, for instance in this cfg file below, go_parent_cb is not called for nodes such as "listen" and "cs7": """ line vty no login cs7 instance 0 xua rkm routing-key-allocation dynamic-permitted listen m3ua 2905 accept-asp-connections dynamic-permitted local-ip 127.0.0.1 """ Related: OS#3608 Change-Id: Ia6d88c0e63d94ba99e950da6efbc4c1871070012 --- M src/vty/command.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/15777/1 diff --git a/src/vty/command.c b/src/vty/command.c index 0d24b66..a36f30a 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2662,6 +2662,10 @@ indent = NULL; } } + /* Make sure we call go_parent_cb for all remaining indent levels at the end of file */ + while (vty_parent(vty)) + vty_go_parent(vty); + return CMD_SUCCESS; return_invalid_indent: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia6d88c0e63d94ba99e950da6efbc4c1871070012 Gerrit-Change-Number: 15777 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 Oct 11 12:18:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 12:18:30 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 2: You can keep alphabetic order and group by user of that dependency in the comment. Eg: # Required by libosmocore: dependency-a \ dependency-b \ # Required by osmocom-bb and libosmocore: dependency-c \ # Required by libosmo-netif: dependency-d \ # Required by unknown: dependency-d \ but I agree that it becomes a bit cumbersome to read. Feel free to put it the way you want, I was simply willing to provide some ideas. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 12:18:30 +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 Oct 11 14:45:13 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 14:45:13 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: run ttcn3 testsuites from osmo-dev References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/15778 ) Change subject: ttcn3.sh: run ttcn3 testsuites from osmo-dev ...................................................................... ttcn3.sh: run ttcn3 testsuites from osmo-dev Build testsuite, SUT and dependencies and run everything with one command. Example usage: $ ./ttcn3.sh msc So far, it works at least with: hlr, mgw, msc, pcu, pcu-sns, sgsn Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 --- M .gitignore M README A src/fake_trx.sh A src/osmo-bts-trx-respawn.sh A src/osmo-pcu-respawn.sh A ttcn3.opts A ttcn3.sh M werror.opts 8 files changed, 432 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/78/15778/1 diff --git a/.gitignore b/.gitignore index 1cfde3d..c8ebef4 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,9 @@ !net/config_2g3g !net/README !net/fill_config.py + +# ttcn3.sh +ttcn3_out/ +3G+2G_ttcn3.deps +!src/fake_trx.sh +!src/osmo-*-respawn.sh diff --git a/README b/README index 9533d89..36cd225 100644 --- a/README +++ b/README @@ -132,6 +132,26 @@ Find other useful scripts in src/, see src/README. +=== ttcn3.sh + +Clone and build all dependencies, then run a given TTCN-3 testsuite and all +required components. This is intended to make test-cycles as short as possible, +without any manual configuration effort and without the need to rebuild the +entire testsuite, SUT (subject under test, e.g. osmo-mgw) and dependencies from +scratch for each code change. Instead, ttcn3.sh will make use of osmo-dev's +generated global makefile and only build what actually changed. + +Example usage: + + ./ttcn3.sh mgw + +Note that not all testsuites are supported at this point, see the output of +ttcn3.sh without any argument for more information. + +More about the testsuites: +https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites + + === Troubleshooting When using sanitize.opts, osmo-trx is not built with the address sanitizer diff --git a/src/fake_trx.sh b/src/fake_trx.sh new file mode 100755 index 0000000..1d39573 --- /dev/null +++ b/src/fake_trx.sh @@ -0,0 +1,23 @@ +#!/bin/sh -x +# Run in a separate script, so we can kill it with "killall" + +DIR="$(readlink -f "$(dirname $0)")" +cd "$DIR" +PID="" + +cleanup() { + echo "Caught signal, cleaning up..." + set -x + kill "$PID" + exit 1 +} + +trap cleanup "TERM" + +./osmocom-bb/src/target/trx_toolkit/fake_trx.py "$@" & +PID="$!" + +set +x +while true; do + sleep 0.1 +done diff --git a/src/osmo-bts-trx-respawn.sh b/src/osmo-bts-trx-respawn.sh new file mode 100755 index 0000000..475f807 --- /dev/null +++ b/src/osmo-bts-trx-respawn.sh @@ -0,0 +1,6 @@ +#!/bin/sh -x +# Automatically restart osmo-bts-trx while running TTCN3 tests. See docker-playground.git. + +while true; do + osmo-bts-trx "$@" +done diff --git a/src/osmo-pcu-respawn.sh b/src/osmo-pcu-respawn.sh new file mode 100755 index 0000000..3ff7213 --- /dev/null +++ b/src/osmo-pcu-respawn.sh @@ -0,0 +1,6 @@ +#!/bin/sh -x +# Automatically restart osmo-pcu while running TTCN3 tests. See docker-playground.git's osmo-pcu-master/respawn.sh. + +while true; do + osmo-pcu "$@" +done diff --git a/ttcn3.opts b/ttcn3.opts new file mode 100644 index 0000000..8acec2d --- /dev/null +++ b/ttcn3.opts @@ -0,0 +1 @@ +osmo-bts --enable-trx diff --git a/ttcn3.sh b/ttcn3.sh new file mode 100755 index 0000000..5d0eb40 --- /dev/null +++ b/ttcn3.sh @@ -0,0 +1,368 @@ +#!/bin/sh -e +PROJECT="$1" +PROJECT_UPPER="$(echo "$PROJECT" | tr '[:lower:]' '[:upper:]')" +DIR_OSMODEV="$(readlink -f "$(dirname $0)")" +DIR_MAKE="${DIR_MAKE:-${DIR_OSMODEV}/make-ttcn3}" +DIR_OUTPUT="${DIR_OUTPUT:-${DIR_OSMODEV}/ttcn3_out}" +JOBS="${JOBS:-9}" + +check_usage() { + if [ -z "$PROJECT" ]; then + echo "usage: $(basename $0) PROJECT" + echo "example: $(basename $0) hlr" + echo "known working projects: hlr, mgw, msc, pcu, pcu-sns, sgsn" + echo "wip: bts, bts-oml" + echo "" + echo "notes (see docker-playground.git/ttcn3-*/jenkins.sh):" + echo "- bts: classic test suite with BSC for OML and trxcon+fake_trx" + echo "- bts-oml: OML tests (without BSC)" + exit 1 + fi +} + +# Returns the name of the testsuite binary +get_testsuite_name() { + case "$PROJECT" in + bts-*) echo "BTS_Tests" ;; + mgw) echo "MGCP_Test" ;; + pcu-sns) echo "PCU_Tests" ;; + *) echo "${PROJECT_UPPER}_Tests" ;; + esac +} + +get_testsuite_dir() { + local hacks="${DIR_OSMODEV}/src/osmo-ttcn3-hacks" + + case "$PROJECT" in + bts-*) echo "$hacks/bts" ;; + pcu-sns) echo "$hacks/pcu" ;; + *) echo "$hacks/$PROJECT" ;; + esac +} + +get_testsuite_config() { + case "$PROJECT" in + bts-gprs) echo "BTS_Tests_GPRS.cfg" ;; + bts-oml) echo "BTS_Tests_OML.cfg" ;; + pcu-sns) echo "PCU_Tests_SNS.cfg" ;; + *) echo "$(get_testsuite_name).cfg" ;; + esac +} + +# Programs that need to be built, launched and killed. To add programs to only one of the steps, modify the appropriate +# function below (build_osmo_programs, run_osmo_programs, kill_osmo_programs). +get_programs() { + case "$PROJECT" in + bsc) echo "osmo-stp osmo-bsc osmo-bts-omldummy" ;; + bts) echo "osmo-bsc osmo-bts-trx fake_trx.py trxcon" ;; + msc) echo "osmo-stp osmo-msc" ;; + pcu-sns) echo "osmo-pcu" ;; + pcu) echo "osmo-pcu osmo-bsc osmo-bts-virtual virtphy" ;; + sgsn) echo "osmo-stp osmo-sgsn" ;; + *) echo "osmo-$PROJECT" ;; + esac +} + +# $1: program name +get_program_config() { + case "$1" in + fake_trx.py) ;; # no config + osmo-bts-*) echo "osmo-bts.cfg" ;; + osmo-pcu) + if [ "$PROJECT" = "pcu-sns" ]; then + echo "osmo-pcu-sns.cfg" + else + echo "osmo-pcu.cfg" + fi + ;; + trxcon) ;; # no config + virtphy) ;; # no config + *) echo "$1.cfg" ;; + esac +} + +# Return the git repository name, which has the source for a specific program. +# $1: program name +get_program_repo() { + case "$1" in + fake_trx.py) echo "osmocom-bb" ;; + osmo-bts-*) echo "osmo-bts" ;; + osmo-stp) echo "libosmo-sccp" ;; + trxcon) echo "osmocom-bb" ;; + virtphy) echo "osmocom-bb" ;; + *) echo "$1" ;; + esac +} + +check_ttcn3_install() { + if ! command -v ttcn3_compiler > /dev/null; then + echo "ERROR: ttcn3_compiler is not installed." + echo "Install eclipse-titan from the Osmocom latest repository." + echo "Details: https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites" + exit 1 + fi +} + +kill_osmo_programs() { + programs="$(get_programs)" + + # Kill wrappers first + for program in $programs; do + case "$program" in + osmo-pcu) killall osmo-pcu-respawn.sh || true ;; + osmo-bts-trx) killall osmo-bts-trx-respawn.sh || true ;; + fake_trx.py) killall fake_trx.sh || true ;; + esac + done + + killall $programs || true +} + +setup_dir_make() { + cd "$DIR_OSMODEV" + + ( echo "# Generated by ttcn3.sh, do not edit" + cat ./3G+2G.deps + echo + echo "osmo-bts libosmocore libosmo-abis" + echo "osmo-pcu libosmocore" + # just clone these, building is handled by ttcn3.sh + echo "osmo-ttcn3-hacks" + echo "osmocom-bb") > 3G+2G_ttcn3.deps + + ./gen_makefile.py 3G+2G_ttcn3.deps default.opts iu.opts no_systemd.opts ttcn3.opts -I -m make-ttcn3 +} + +# $1: name of repository (e.g. osmo-ttcn3-hacks) +clone_repo() { + make -C "$DIR_MAKE" ".make.${1}.clone" +} + +# Require testsuite dir, with testsuite and all program configs +check_dir_testsuite() { + local program + local config_testsuite + local dir_testsuite="$(get_testsuite_dir)" + + if ! [ -d "$dir_testsuite" ]; then + echo "ERROR: project '$PROJECT' is invalid, resulting path not found: $dir_testsuite" + exit 1 + fi + + for program in $(get_programs); do + local config="$(get_program_config "$program")" + if [ -z "$config" ]; then + continue + fi + config="$dir_testsuite/$config" + if ! [ -e "$config" ]; then + echo "ERROR: config not found: $config" + echo "Copy it from docker-playground.git, and change IPs to 127.0.0.*." + echo "Make sure that everything works, then submit a patch with the config." + echo "If $program's config has a different name or is not needed at all, edit" + echo "get_program_config() in ttcn3.sh." + exit 1 + fi + done + + config_testsuite="$dir_testsuite/$(get_testsuite_config)" + if ! [ -e "$config_testsuite" ]; then + echo "ERROR: testsuite config not found: $config_testsuite" + echo "Copy it from docker-playground.git, change the paths to be relative and submit it as patch." + echo "If $program's testsuite has a different name, edit get_testsuite_name() in ttcn3.sh." + exit 1 + fi +} + +# Build a program that is in the subdir of a repository (e.g. trxcon in osmocom-bb.git). +# $1: repository +# $2: path in the repository +build_osmo_program_subdir() { + clone_repo "$1" + cd "$DIR_OSMODEV/src/$1/$2" + if ! [ -e "./configure" ] && [ -e "configure.ac" ]; then + autoreconf -fi + fi + if ! [ -e "Makefile" ] && [ -e "Makefile.am" ]; then + ./configure + fi + make -j"$JOBS" +} + +# Use osmo-dev to build a typical Osmocom program, and run a few sanity checks. +# $1 program +build_osmo_program_osmodev() { + local repo="$(get_program_repo "$program")" + make -C "$DIR_MAKE" "$repo" + + local path="$(command -v "$program")" + if [ -z "$path" ]; then + echo "ERROR: program was not installed to PATH: $program" + echo "Maybe you need to add /usr/local/bin to PATH?" + exit 1 + fi + + local pathdir="$(dirname "$path")" + local reference="$DIR_MAKE/.make.$repo.build" + if [ -z "$(find "$pathdir" -name "$program" -newer "$reference")" ]; then + echo "ERROR: $path is outdated!" + echo "Maybe you need to pass a configure argument to $repo.git, so it builds and installs $program?" + echo "Or the order in PATH is wrong?" + exit 1 + fi +} + +# Use osmo-dev to build one Osmocom program and its dependencies +build_osmo_programs() { + local program + for program in $(get_programs); do + case "$program" in + fake_trx.py) clone_repo "osmocom-bb" ;; + trxcon) build_osmo_program_subdir "osmocom-bb" "src/host/trxcon" ;; + virtphy) build_osmo_program_subdir "osmocom-bb" "src/host/virt_phy" ;; + *) build_osmo_program_osmodev "$program" ;; + esac + done +} + +build_testsuite() { + cd "$(get_testsuite_dir)" + ./gen_links.sh + ./regen_makefile.sh + make compile + make -j"$JOBS" +} + +remove_old_logs() { + cd "$(get_testsuite_dir)" + rm *.log *.merged 2> /dev/null || true +} + +prepare_dir_output() { + local program + local dir_testsuite="$(get_testsuite_dir)" + + rm -r "$DIR_OUTPUT"/* 2> /dev/null || true + mkdir -p "$DIR_OUTPUT" + + for program in $(get_programs); do + local config="$(get_program_config "$program")" + if [ -n "$config" ]; then + cp "$dir_testsuite/$config" "$DIR_OUTPUT" + fi + done +} + +# $1: log name +# $2: command to run +run_osmo_program() { + local pid + local log="$1" + shift + + echo "Starting ($log): $@" + "$@" > "$log" 2>&1 & + pid="$!" + + sleep 0.5 + if ! kill -0 "$pid" 2> /dev/null; then + echo "ERROR: failed to start: $@" + cat "$log" + exit 1 + fi +} + +run_osmo_programs() { + local program + local osmocom_bb="$DIR_OSMODEV/src/osmocom-bb" + + cd "$DIR_OUTPUT" + for program in $(get_programs); do + case "$program" in + fake_trx.py) + run_osmo_program "fake_trx.log" \ + "$DIR_OSMODEV/src/fake_trx.sh" \ + --log-level DEBUG \ + -b 127.0.0.21 \ + -R 127.0.0.20 \ + -r 127.0.0.22 + ;; + osmo-bts-omldummy) + for i in $(seq 0 2); do + run_osmo_program "osmo-bts-$i.log" osmo-bts-omldummy 127.0.0.1 $((i + 1234)) 1 + done + ;; + osmo-bts-trx) + run_osmo_program "$program.log" \ + "$DIR_OSMODEV/src/osmo-bts-trx-respawn.sh" -i 127.0.0.10 + ;; + osmo-pcu) + run_osmo_program "$program.log" "$DIR_OSMODEV/src/osmo-pcu-respawn.sh" \ + -c "$(get_program_config osmo-pcu)" + ;; + trxcon) + run_osmo_program "$program.log" \ + "$osmocom_bb/src/host/trxcon/trxcon" \ + trxcon -i 127.0.0.21 \ + -s /tmp/osmocom_l2 + ;; + virtphy) + run_osmo_program "$program.log" "$osmocom_bb/src/host/virt_phy/src/virtphy" \ + -s /tmp/osmocom_l2 + ;; + *) + run_osmo_program "$program.log" "$program" + ;; + esac + done +} + +run_testsuite() { + local testsuite="$(get_testsuite_name)" + local cfg="$(get_testsuite_config)" + + cd "$(get_testsuite_dir)" + ../start-testsuite.sh "$testsuite" "$cfg" 2>&1 | tee "$DIR_OUTPUT/ttcn3_stdout.log" +} + +collect_logs() { + # Merge and move logs + cd "$(get_testsuite_dir)" + ../log_merge.sh $(get_testsuite_name) --rm + if ! mv *.merged "$DIR_OUTPUT"; then + echo "---" + echo "ERROR: no logs generated! Invalid test names in $(get_testsuite_config)?" + echo "---" + exit 1 + fi + + # Format logs + cd "$DIR_OUTPUT" + for log in *.merged; do + ttcn3_logformat -o "${log}.log" "$log" + rm "$log" + done + + # Print log path + echo "---" + echo "Logs: $DIR_OUTPUT" + echo "---" +} + +# Tell glibc to print segfault output to stderr (OS#4212) +export LIBC_FATAL_STDERR_=1 + +check_usage +kill_osmo_programs +check_ttcn3_install +setup_dir_make +clone_repo "osmo-ttcn3-hacks" +check_dir_testsuite +build_osmo_programs +build_testsuite +remove_old_logs +prepare_dir_output +run_osmo_programs +run_testsuite +kill_osmo_programs +collect_logs diff --git a/werror.opts b/werror.opts index 602843f..ad4d7ac 100644 --- a/werror.opts +++ b/werror.opts @@ -11,3 +11,5 @@ osmo-mgw --enable-werror osmo-msc --enable-werror osmo-sgsn --enable-werror +osmo-bts --enable-werror +osmo-pcu --enable-werror -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 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 Oct 11 14:46:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 14:46:22 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/15778 ) Change subject: ttcn3.sh: run ttcn3 testsuites from osmo-dev ...................................................................... Patch Set 1: I've been using this for quite some time to run testsuites locally, time to upstream it. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 11 Oct 2019 14:46: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 Fri Oct 11 14:47:31 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 11 Oct 2019 14:47:31 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: Hello neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 to look at the new patch set (#2). Change subject: ttcn3.sh: run ttcn3 testsuites from osmo-dev ...................................................................... ttcn3.sh: run ttcn3 testsuites from osmo-dev Build testsuite, SUT and dependencies and run everything with one command. Example usage: $ ./ttcn3.sh msc So far, it works at least with: hlr, mgw, msc, pcu, pcu-sns, sgsn Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 --- M .gitignore M README A src/fake_trx.sh A src/osmo-bts-trx-respawn.sh A src/osmo-pcu-respawn.sh A ttcn3.opts A ttcn3.sh 7 files changed, 430 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/78/15778/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Oct 11 14:58:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Oct 2019 14:58:17 +0000 Subject: Change in libosmocore[master]: vty/vty.c: log received commands from telnet interface In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14974 ) Change subject: vty/vty.c: log received commands from telnet interface ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f6639f6ebc3e8f8df50ef48538df94285b759fd Gerrit-Change-Number: 14974 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 11 Oct 2019 14:58: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 Fri Oct 11 15:03:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Oct 2019 15:03:20 +0000 Subject: Change in libosmocore[master]: vty/vty.c: log received commands from telnet interface 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/libosmocore/+/14974 to look at the new patch set (#5). Change subject: vty/vty.c: log received commands from telnet interface ...................................................................... vty/vty.c: log received commands from telnet interface This may be useful for investigating TTCN-3 test case failures. In order to avoid breaking the existing unit test expectations outside libosmocore, logging is disabled by default. Logging is done using category DLGLOBAL and a logging level configured from the VTY in section 'vty line': # configure terminal (config)# line vty ! Log received commands (using LOGL_INFO) (config-line)# log commands ! Log status of received commands (config-line)# log commands level notice ! Do not log status of received commands (config-line)# no log commands Change-Id: I5f6639f6ebc3e8f8df50ef48538df94285b759fd --- M src/vty/vty.c 1 file changed, 118 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/14974/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f6639f6ebc3e8f8df50ef48538df94285b759fd Gerrit-Change-Number: 14974 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Oct 11 15:05:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Oct 2019 15:05:25 +0000 Subject: Change in libosmocore[master]: vty/vty.c: log received commands from telnet interface 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/libosmocore/+/14974 to look at the new patch set (#6). Change subject: vty/vty.c: log received commands from telnet interface ...................................................................... vty/vty.c: log received commands from telnet interface This may be useful for investigating TTCN-3 test case failures. In order to avoid breaking the existing unit test expectations outside libosmocore, logging is disabled by default. Logging is done using category DLGLOBAL and a logging level configured from the VTY in section 'vty line': # configure terminal (config)# line vty ! Log received commands (using LOGL_INFO) (config-line)# log commands ! Log status of received commands (config-line)# log commands level notice ! Do not log status of received commands (config-line)# no log commands Change-Id: I5f6639f6ebc3e8f8df50ef48538df94285b759fd --- M src/vty/vty.c 1 file changed, 117 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/14974/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f6639f6ebc3e8f8df50ef48538df94285b759fd Gerrit-Change-Number: 14974 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Oct 11 15:05:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 15:05:44 +0000 Subject: Change in libosmocore[master]: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15779 ) Change subject: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() ...................................................................... tdef: Return correct snprintf value for osmo_tdef_range_str_buf() len provides extra information in the case the buffer was too small, because it tells the caller "the number of characters (excluding the terminating null byte) which would have been written to the final string if enough space had been available" (man snprintf). Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 --- M src/tdef.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/79/15779/1 diff --git a/src/tdef.c b/src/tdef.c index 94d987f..7a709b4 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -275,7 +275,7 @@ if (ret < 0) return ret; OSMO_SNPRINTF_RET(ret, rem, offset, len); - return ret; + return len; } /*! 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/+/15779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 Gerrit-Change-Number: 15779 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 Oct 11 15:19:36 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Oct 2019 15:19:36 +0000 Subject: Change in libosmocore[master]: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15779 ) Change subject: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 Gerrit-Change-Number: 15779 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 11 Oct 2019 15:19: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 Fri Oct 11 15:21:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 11 Oct 2019 15:21:10 +0000 Subject: Change in libosmocore[master]: vty: Fix go_parent_cb not called for indented nodes at end of cfg file In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15777 ) Change subject: vty: Fix go_parent_cb not called for indented nodes at end of cfg file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia6d88c0e63d94ba99e950da6efbc4c1871070012 Gerrit-Change-Number: 15777 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 15:21: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 Oct 11 16:19:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 16:19:58 +0000 Subject: Change in libosmocore[master]: vty/vty.c: log received commands from telnet interface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14974 ) Change subject: vty/vty.c: log received commands from telnet interface ...................................................................... Patch Set 6: I'm not entirely convinced [yet], sorry. why is seeing the vty telnet commands in the pcap file of a test execution insufficient? Maybe the telnet dissector simply needs to be told the VTY port number[s] as "decode as"? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f6639f6ebc3e8f8df50ef48538df94285b759fd Gerrit-Change-Number: 14974 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 11 Oct 2019 16:19: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 Fri Oct 11 16:20:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 16:20:24 +0000 Subject: Change in libosmocore[master]: vty: Fix go_parent_cb not called for indented nodes at end of cfg file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15777 ) Change subject: vty: Fix go_parent_cb not called for indented nodes at end of cfg file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia6d88c0e63d94ba99e950da6efbc4c1871070012 Gerrit-Change-Number: 15777 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 11 Oct 2019 16:20: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 Oct 11 16:20:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 16:20:26 +0000 Subject: Change in libosmocore[master]: socket.c: Move glibc workarounds to same place in addrinfo_helper() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15758 ) Change subject: socket.c: Move glibc workarounds to same place in addrinfo_helper() ...................................................................... socket.c: Move glibc workarounds to same place in addrinfo_helper() Change-Id: Ifc3a30881f865f88bcfc1307a3c89c1ab79eecd4 --- M src/socket.c 1 file changed, 10 insertions(+), 19 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/socket.c b/src/socket.c index c50af55..ef3bb58 100644 --- a/src/socket.c +++ b/src/socket.c @@ -56,7 +56,7 @@ static struct addrinfo *addrinfo_helper(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, bool passive) { - struct addrinfo hints, *result; + struct addrinfo hints, *result, *rp; char portbuf[6]; int rc; @@ -66,6 +66,7 @@ if (type == SOCK_RAW) { /* Workaround for glibc, that returns EAI_SERVICE (-8) if * SOCK_RAW and IPPROTO_GRE is used. + * http://sourceware.org/bugzilla/show_bug.cgi?id=15015 */ hints.ai_socktype = SOCK_DGRAM; hints.ai_protocol = IPPROTO_UDP; @@ -84,6 +85,14 @@ return NULL; } + for (rp = result; rp != NULL; rp = rp->ai_next) { + /* Workaround for glibc again */ + if (type == SOCK_RAW) { + rp->ai_socktype = SOCK_RAW; + rp->ai_protocol = proto; + } + } + return result; } @@ -199,12 +208,6 @@ return -EINVAL; for (rp = result; rp != NULL; rp = rp->ai_next) { - /* Workaround for glibc again */ - if (type == SOCK_RAW) { - rp->ai_socktype = SOCK_RAW; - rp->ai_protocol = proto; - } - sfd = socket_helper(rp, flags); if (sfd < 0) continue; @@ -253,12 +256,6 @@ } for (rp = result; rp != NULL; rp = rp->ai_next) { - /* Workaround for glibc again */ - if (type == SOCK_RAW) { - rp->ai_socktype = SOCK_RAW; - rp->ai_protocol = proto; - } - if (sfd < 0) { sfd = socket_helper(rp, flags); if (sfd < 0) @@ -332,12 +329,6 @@ } for (rp = result; rp != NULL; rp = rp->ai_next) { - /* Workaround for glibc again */ - if (type == SOCK_RAW) { - rp->ai_socktype = SOCK_RAW; - rp->ai_protocol = proto; - } - sfd = socket_helper(rp, flags); if (sfd == -1) continue; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifc3a30881f865f88bcfc1307a3c89c1ab79eecd4 Gerrit-Change-Number: 15758 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 Oct 11 16:20:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 11 Oct 2019 16:20:27 +0000 Subject: Change in libosmocore[master]: vty: Fix go_parent_cb not called for indented nodes at end of cfg file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15777 ) Change subject: vty: Fix go_parent_cb not called for indented nodes at end of cfg file ...................................................................... vty: Fix go_parent_cb not called for indented nodes at end of cfg file Without this patch, for instance in this cfg file below, go_parent_cb is not called for nodes such as "listen" and "cs7": """ line vty no login cs7 instance 0 xua rkm routing-key-allocation dynamic-permitted listen m3ua 2905 accept-asp-connections dynamic-permitted local-ip 127.0.0.1 """ Related: OS#3608 Change-Id: Ia6d88c0e63d94ba99e950da6efbc4c1871070012 --- M src/vty/command.c 1 file changed, 4 insertions(+), 0 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/vty/command.c b/src/vty/command.c index 0d24b66..a36f30a 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2662,6 +2662,10 @@ indent = NULL; } } + /* Make sure we call go_parent_cb for all remaining indent levels at the end of file */ + while (vty_parent(vty)) + vty_go_parent(vty); + return CMD_SUCCESS; return_invalid_indent: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia6d88c0e63d94ba99e950da6efbc4c1871070012 Gerrit-Change-Number: 15777 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Fri Oct 11 17:38:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 17:38:54 +0000 Subject: Change in osmo-bsc[master]: sigtran: Set default remote ip to localhost instead of null References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15780 ) Change subject: sigtran: Set default remote ip to localhost instead of null ...................................................................... sigtran: Set default remote ip to localhost instead of null NULL or 0.0.0.0 should actually not be used upon connect() calls. Whoever, it worked so far because osmo_sock_init2() calls getaddrinfo() on it which does the 0.0.0.0->127.0.0.1 translation. osmo-msc already passed 127.0.0.1 as default address, so let's do the same here. Change-Id: Ib0d33c66faab78e609742638425cb8a0c382406f --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/15780/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 0bf48a7..543e6de 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -44,6 +44,7 @@ #define RESET_INTERVAL 1 /* sek */ #define SCCP_MSG_MAXSIZE 1024 #define CS7_POINTCODE_DEFAULT_OFFSET 2 +#define DEFAULT_ASP_REMOTE_IP "127.0.0.1" /* The SCCP stack will not assign connection IDs to us automatically, we * will do this ourselves using a counter variable, that counts one up @@ -514,7 +515,7 @@ default_pc = osmo_ss7_pointcode_parse(NULL, BSC_DEFAULT_PC); msc->a.sccp = osmo_sccp_simple_client_on_ss7_id(msc, msc->a.cs7_instance, msc_name, default_pc, - msc->a.asp_proto, 0, NULL, 0, NULL); + msc->a.asp_proto, 0, NULL, 0, DEFAULT_ASP_REMOTE_IP); if (!msc->a.sccp) return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0d33c66faab78e609742638425cb8a0c382406f Gerrit-Change-Number: 15780 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 Oct 11 19:10:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 19:10:28 +0000 Subject: Change in libosmocore[master]: socket: Introduce API osmo_sock_init2_multiaddr() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15781 ) Change subject: socket: Introduce API osmo_sock_init2_multiaddr() ...................................................................... socket: Introduce API osmo_sock_init2_multiaddr() This API will be used by libosmo-netif's osmo_stream for SCTP sockets, which in turn will be used by libosmo-sccp to support multi-homed connections. Related: OS#3608 Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 --- M configure.ac M include/osmocom/core/socket.h M src/Makefile.am M src/socket.c 4 files changed, 306 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/15781/1 diff --git a/configure.ac b/configure.ac index 39d232b..2aefd2c 100644 --- a/configure.ac +++ b/configure.ac @@ -100,6 +100,17 @@ AC_CHECK_FUNCS(clock_gettime localtime_r) +old_LIBS=$LIBS +AC_SEARCH_LIBS([sctp_bindx], [sctp], [ + AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) + AC_SUBST(HAVE_LIBSCTP, [1]) + if test -n "$ac_lib"; then + AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) + fi + ], [ + AC_MSG_ERROR([sctp_bindx not found in searched libs])]) +LIBS=$old_LIBS + AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ AC_CACHE_CHECK( [whether struct tm has tm_gmtoff member], diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 37b1eae..e26ca0d 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -36,6 +36,9 @@ /*! use SO_REUSEADDR on UDP ports (required for multicast) */ #define OSMO_SOCK_F_UDP_REUSEADDR (1 << 5) +/*! maximum number of local or remote addresses supported by an osmo_sock instance */ +#define OSMO_SOCK_MAX_ADDRS 32 + int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, unsigned int flags); @@ -43,6 +46,10 @@ const char *local_host, uint16_t local_port, const char *remote_host, uint16_t remote_port, unsigned int flags); +int osmo_sock_init2_multiaddr(uint16_t family, uint16_t type, uint8_t proto, + const char **local_hosts, size_t local_hosts_cnt, uint16_t local_port, + const char **remote_hosts, size_t remote_hosts_cnt, uint16_t remote_port, unsigned int flags); + int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto, const char *host, uint16_t port, unsigned int flags); diff --git a/src/Makefile.am b/src/Makefile.am index 5f5f017..9943281 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,7 +4,7 @@ LIBVERSION=14:0:2 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) +AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) if ENABLE_PSEUDOTALLOC AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc @@ -12,7 +12,7 @@ lib_LTLIBRARIES = libosmocore.la -libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) $(PTHREAD_LIBS) +libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) $(PTHREAD_LIBS) $(LIBSCTP_LIBS) libosmocore_la_SOURCES = context.c timer.c timer_gettimeofday.c timer_clockgettime.c \ select.c signal.c msgb.c bits.c \ bitvec.c bitcomp.c counter.c fsm.c \ diff --git a/src/socket.c b/src/socket.c index ef3bb58..542c76e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -53,6 +53,10 @@ #include #include +#ifdef HAVE_LIBSCTP +#include +#endif + static struct addrinfo *addrinfo_helper(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, bool passive) { @@ -96,6 +100,34 @@ return result; } +/*! Retrieve an array of addrinfo with specified hints, one for each host in the hosts array. + * \param[out] addrinfo array of addrinfo pointers, will be filled by the function on success. + * Its size must be at least the one of hosts. + * \param[in] family Socket family like AF_INET, AF_INET6. + * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM. + * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP. + * \param[in] hosts array of char pointers (strings) containing the addresses to query. + * \param[in] host_cnt length of the hosts array (in items). + * \param[in] port port number in host byte order. + * \param[in] passive whether to include the AI_PASSIVE flag in getaddrinfo() hints. + * \returns 0 is returned on success together with a filled addrinfo array; negative on error + */ +static int addrinfo_helper_multi(struct addrinfo **addrinfo, uint16_t family, uint16_t type, uint8_t proto, + const char **hosts, size_t host_cnt, uint16_t port, bool passive) +{ + int i, j; + + for (i = 0; i < host_cnt; i++) { + addrinfo[i] = addrinfo_helper(family, type, proto, hosts[i], port, passive); + if (!addrinfo[i]) { + for (j = 0; j < i; j++) + freeaddrinfo(addrinfo[j]); + return -EINVAL; + } + } + return 0; +} + static int socket_helper(const struct addrinfo *rp, unsigned int flags) { int sfd, on = 1; @@ -118,6 +150,37 @@ return sfd; } +/* Fill buf with a string representation of the address set, in the form: + * buf_len == 0: "()" + * buf_len == 1: "hostA" + * buf_len >= 2: (hostA|hostB|...|...) + */ +static int multiaddr_snprintf(char* buf, size_t buf_len, const char **hosts, size_t host_cnt) +{ + int len = 0, offset = 0, rem = buf_len; + int ret, i; + char *after; + + if (buf_len < 3) + return -EINVAL; + + if (host_cnt != 1) { + ret = snprintf(buf, rem, "("); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + for (i = 0; i < host_cnt; i++) { + if (host_cnt == 1) + after = ""; + else + after = (i == (host_cnt - 1)) ? ")" : "|"; + ret = snprintf(buf + offset, rem, "%s%s", hosts[i] ? : "0.0.0.0", after); + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + + return len; +} static int osmo_sock_init_tail(int fd, uint16_t type, unsigned int flags) { @@ -294,6 +357,229 @@ return sfd; } +#ifdef HAVE_LIBSCTP + + +/* Build array of addresses taking first addrinfo result of the requested family + * for each host in hosts. addrs4 or addrs6 are filled based on family type. */ +static int addrinfo_to_sockaddr(uint16_t family, const struct addrinfo **result, + const char **hosts, int host_cont, + struct sockaddr_in *addrs4, struct sockaddr_in6 *addrs6) { + size_t host_idx; + const struct addrinfo *rp; + OSMO_ASSERT(family == AF_INET || family == AF_INET6); + + for (host_idx = 0; host_idx < host_cont; host_idx++) { + for (rp = result[host_idx]; rp != NULL; rp = rp->ai_next) { + if (rp->ai_family != family) + continue; + if (family == AF_INET) + memcpy(&addrs4[host_idx], rp->ai_addr, sizeof(addrs4[host_idx])); + else + memcpy(&addrs6[host_idx], rp->ai_addr, sizeof(addrs6[host_idx])); + break; + } + if (!rp) { /* No addr could be bound for this host! */ + LOGP(DLGLOBAL, LOGL_ERROR, "No suitable remote address found for host: %s\n", + hosts[host_idx]); + return -ENODEV; + } + } + return 0; +} + +/*! Initialize a socket (including bind and/or connect) with multiple local or remote addresses. + * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC + * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM + * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP + * \param[in] local_hosts array of char pointers (strings), each containing local host name or IP address in string form + * \param[in] local_hosts_cnt length of local_hosts (in items) + * \param[in] local_port local port number in host byte order + * \param[in] remote_host array of char pointers (strings), each containing remote host name or IP address in string form + * \param[in] remote_hosts_cnt length of remote_hosts (in items) + * \param[in] remote_port remote port number in host byte order + * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT + * \returns socket file descriptor on success; negative on error + * + * This function is similar to \ref osmo_sock_init2(), but can be passed an + * array of local or remote addresses for protocols supporting multiple + * addresses per socket, like SCTP (currently only one supported). This function + * should not be used by protocols not supporting this kind of features, but + * rather \ref osmo_sock_init2() should be used instead. + * See \ref osmo_sock_init2() for more information on flags and general behavior. + */ +int osmo_sock_init2_multiaddr(uint16_t family, uint16_t type, uint8_t proto, + const char **local_hosts, size_t local_hosts_cnt, uint16_t local_port, + const char **remote_hosts, size_t remote_hosts_cnt, uint16_t remote_port, + unsigned int flags) + +{ + struct addrinfo *result[OSMO_SOCK_MAX_ADDRS]; + int sfd = -1, rc, on = 1; + int i; + struct sockaddr_in addrs4[OSMO_SOCK_MAX_ADDRS]; + struct sockaddr_in6 addrs6[OSMO_SOCK_MAX_ADDRS]; + struct sockaddr *addrs; + char strbuf[512]; + + /* TODO: So far this function is only aimed for SCTP, but could be + reused in the future for other protocols with multi-addr support */ + if (proto != IPPROTO_SCTP) + return -ENOTSUP; + + /* TODO: Let's not support AF_UNSPEC for now. sctp_bindx() actually + supports binding both types of addresses on a AF_INET6 soscket, but + that would mean we could get both AF_INET and AF_INET6 addresses for + each host, and makes complexity of this function increase a lot since + we'd need to find out which subsets to use, use v4v6 mapped socket, + etc. */ + if (family == AF_UNSPEC) + return -ENOTSUP; + + if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) == 0) { + LOGP(DLGLOBAL, LOGL_ERROR, "invalid: you have to specify either " + "BIND or CONNECT flags\n"); + return -EINVAL; + } + + if (((flags & OSMO_SOCK_F_BIND) && !local_hosts_cnt) || + ((flags & OSMO_SOCK_F_CONNECT) && !remote_hosts_cnt) || + local_hosts_cnt > OSMO_SOCK_MAX_ADDRS || + remote_hosts_cnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + /* figure out local side of socket */ + if (flags & OSMO_SOCK_F_BIND) { + rc = addrinfo_helper_multi(result, family, type, proto, local_hosts, + local_hosts_cnt, local_port, true); + if (rc < 0) + return -EINVAL; + + /* Since addrinfo_helper sets ai_family, socktype and + ai_protocol in hints, we know all results will use same + values, so simply pick the first one and pass it to create + the socket: + */ + sfd = socket_helper(result[0], flags); + if (sfd < 0) { + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + return sfd; + } + + if (proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR) { + rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, + &on, sizeof(on)); + if (rc < 0) { + multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); + LOGP(DLGLOBAL, LOGL_ERROR, + "cannot setsockopt socket:" + " %s:%u: %s\n", + strbuf, local_port, + strerror(errno)); + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return rc; + } + } + + /* Build array of addresses taking first of same family for each host. + TODO: Ideally we should use backtracking storing last used + indexes and trying next combination if connect() fails .*/ + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + local_hosts, local_hosts_cnt, addrs4, addrs6); + if (rc < 0) { + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + + if (family == AF_INET) + addrs = (struct sockaddr *)addrs4; + else + addrs = (struct sockaddr *)addrs6; + if (sctp_bindx(sfd, addrs, local_hosts_cnt, SCTP_BINDX_ADD_ADDR) == -1) { + multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); + LOGP(DLGLOBAL, LOGL_NOTICE, "unable to bind socket: %s:%u: %s\n", + strbuf, local_port, strerror(errno)); + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + } + + /* Reached this point, if OSMO_SOCK_F_BIND then sfd is valid (>=0) or it + was already closed and func returned. If OSMO_SOCK_F_BIND is not + set, then sfd = -1 */ + + /* figure out remote side of socket */ + if (flags & OSMO_SOCK_F_CONNECT) { + rc = addrinfo_helper_multi(result, family, type, proto, remote_hosts, + remote_hosts_cnt, remote_port, false); + if (rc < 0) { + if (sfd >= 0) + close(sfd); + return -EINVAL; + } + + if (sfd < 0) { + /* Since addrinfo_helper sets ai_family, socktype and + ai_protocol in hints, we know all results will use same + values, so simply pick the first one and pass it to create + the socket: + */ + sfd = socket_helper(result[0], flags); + if (sfd < 0) { + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + return sfd; + } + } + + /* Build array of addresses taking first of same family for each host. + TODO: Ideally we should use backtracking storing last used + indexes and trying next combination if connect() fails .*/ + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + remote_hosts, remote_hosts_cnt, addrs4, addrs6); + if (rc < 0) { + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + + if (family == AF_INET) + addrs = (struct sockaddr *)addrs4; + else + addrs = (struct sockaddr *)addrs6; + rc = sctp_connectx(sfd, addrs, remote_hosts_cnt, NULL); + if (rc != 0 && errno != EINPROGRESS) { + multiaddr_snprintf(strbuf, sizeof(strbuf), remote_hosts, remote_hosts_cnt); + LOGP(DLGLOBAL, LOGL_ERROR, "unable to connect socket: %s:%u: %s\n", + strbuf, remote_port, strerror(errno)); + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + } + + rc = osmo_sock_init_tail(sfd, type, flags); + if (rc < 0) { + close(sfd); + sfd = -1; + } + + return sfd; +} +#endif /* HAVE_LIBSCTP */ /*! Initialize a socket (including bind/connect) * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Gerrit-Change-Number: 15781 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 Oct 11 19:15:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 19:15:02 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_srv_link: Support setting multiple addr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15782 ) Change subject: stream: osmo_stream_srv_link: Support setting multiple addr ...................................................................... stream: osmo_stream_srv_link: Support setting multiple addr This API will be later used to set multiple addresses for SCTP sockets. Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Related: OS#3608 Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a --- M include/osmocom/netif/stream.h M src/stream.c 2 files changed, 38 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/82/15782/1 diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h index 3427df5..8fe2578 100644 --- a/include/osmocom/netif/stream.h +++ b/include/osmocom/netif/stream.h @@ -22,6 +22,7 @@ void osmo_stream_srv_link_set_nodelay(struct osmo_stream_srv_link *link, bool nodelay); void osmo_stream_srv_link_set_addr(struct osmo_stream_srv_link *link, const char *addr); +int osmo_stream_srv_link_set_addrs(struct osmo_stream_srv_link *link, const char **addr, size_t addrcnt); void osmo_stream_srv_link_set_port(struct osmo_stream_srv_link *link, uint16_t port); void osmo_stream_srv_link_set_proto(struct osmo_stream_srv_link *link, uint16_t proto); void osmo_stream_srv_link_set_accept_cb(struct osmo_stream_srv_link *link, int (*accept_cb)(struct osmo_stream_srv_link *link, int fd)); diff --git a/src/stream.c b/src/stream.c index 9c4afec..0027537 100644 --- a/src/stream.c +++ b/src/stream.c @@ -647,7 +647,8 @@ struct osmo_stream_srv_link { struct osmo_fd ofd; - char *addr; + char *addr[OSMO_SOCK_MAX_ADDRS]; + uint8_t addrcnt; uint16_t port; uint16_t proto; int (*accept_cb)(struct osmo_stream_srv_link *srv, int fd); @@ -745,8 +746,32 @@ void osmo_stream_srv_link_set_addr(struct osmo_stream_srv_link *link, const char *addr) { - osmo_talloc_replace_string(link, &link->addr, addr); + osmo_stream_srv_link_set_addrs(link, &addr, 1); +} + +/*! \brief Set the local address set to which we bind. + * Useful for protocols allowing bind on more than one address (such as SCTP) + * \param[in] link Stream Server Link to modify + * \param[in] addr Local IP address + * \return negative on error, 0 on success + */ +int osmo_stream_srv_link_set_addrs(struct osmo_stream_srv_link *link, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(link, &link->addr[i], addr[i]); + for (; i < link->addrcnt; i++) { + talloc_free(link->addr[i]); + link->addr[i] = NULL; + } + + link->addrcnt = addrcnt; link->flags |= OSMO_STREAM_SRV_F_RECONF; + return 0; } /*! \brief Set the local port number to which we bind @@ -853,8 +878,16 @@ link->flags &= ~OSMO_STREAM_SRV_F_RECONF; - ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, - link->addr, link->port, OSMO_SOCK_F_BIND); + switch (link->proto) { + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, link->proto, + (const char **)link->addr, link->addrcnt, link->port, + NULL, 0, 0, OSMO_SOCK_F_BIND); + break; + default: + ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, + link->addr[0], link->port, OSMO_SOCK_F_BIND); + } if (ret < 0) return ret; -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Gerrit-Change-Number: 15782 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 Oct 11 19:15:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 19:15:03 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_cli: Support setting multiple addr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15783 ) Change subject: stream: osmo_stream_cli: Support setting multiple addr ...................................................................... stream: osmo_stream_cli: Support setting multiple addr This API will be later used to set multiple addresses for SCTP sockets. Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Related: OS#3608 Change-Id: I09f0d989f2309abdeb304fe570355abed2cd107b --- M include/osmocom/netif/stream.h M src/stream.c 2 files changed, 85 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/83/15783/1 diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h index 8fe2578..331dec1 100644 --- a/include/osmocom/netif/stream.h +++ b/include/osmocom/netif/stream.h @@ -55,9 +55,11 @@ void osmo_stream_cli_set_nodelay(struct osmo_stream_cli *cli, bool nodelay); void osmo_stream_cli_set_addr(struct osmo_stream_cli *cli, const char *addr); +int osmo_stream_cli_set_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt); void osmo_stream_cli_set_port(struct osmo_stream_cli *cli, uint16_t port); void osmo_stream_cli_set_proto(struct osmo_stream_cli *cli, uint16_t proto); void osmo_stream_cli_set_local_addr(struct osmo_stream_cli *cli, const char *addr); +int osmo_stream_cli_set_local_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt); void osmo_stream_cli_set_local_port(struct osmo_stream_cli *cli, uint16_t port); void osmo_stream_cli_set_data(struct osmo_stream_cli *cli, void *data); void osmo_stream_cli_set_reconnect_timeout(struct osmo_stream_cli *cli, int timeout); diff --git a/src/stream.c b/src/stream.c index 0027537..b7e5c3c 100644 --- a/src/stream.c +++ b/src/stream.c @@ -148,9 +148,11 @@ struct llist_head tx_queue; struct osmo_timer_list timer; enum osmo_stream_cli_state state; - char *addr; + char *addr[OSMO_SOCK_MAX_ADDRS]; + uint8_t addrcnt; uint16_t port; - char *local_addr; + char *local_addr[OSMO_SOCK_MAX_ADDRS]; + uint8_t local_addrcnt; uint16_t local_port; uint16_t proto; int (*connect_cb)(struct osmo_stream_cli *srv); @@ -354,8 +356,32 @@ void osmo_stream_cli_set_addr(struct osmo_stream_cli *cli, const char *addr) { - osmo_talloc_replace_string(cli, &cli->addr, addr); + osmo_stream_cli_set_addrs(cli, &addr, 1); +} + +/*! \brief Set the remote address set to which we connect. + * Useful for protocols allowing connecting to more than one address (such as SCTP) + * \param[in] cli Stream Client to modify + * \param[in] addr Remote IP address set + * \return negative on error, 0 on success + */ +int osmo_stream_cli_set_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(cli, &cli->addr[i], addr[i]); + for (; i < cli->addrcnt; i++) { + talloc_free(cli->addr[i]); + cli->addr[i] = NULL; + } + + cli->addrcnt = addrcnt; cli->flags |= OSMO_STREAM_CLI_F_RECONF; + return 0; } /*! \brief Set the remote port number to which we connect @@ -387,8 +413,32 @@ void osmo_stream_cli_set_local_addr(struct osmo_stream_cli *cli, const char *addr) { - osmo_talloc_replace_string(cli, &cli->local_addr, addr); + osmo_stream_cli_set_local_addrs(cli, &addr, 1); +} + +/*! \brief Set the local address set to which we connect. + * Useful for protocols allowing bind to more than one address (such as SCTP) + * \param[in] cli Stream Client to modify + * \param[in] addr Local IP address set + * \return negative on error, 0 on success + */ +int osmo_stream_cli_set_local_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(cli, &cli->local_addr[i], addr[i]); + for (; i < cli->local_addrcnt; i++) { + talloc_free(cli->local_addr[i]); + cli->local_addr[i] = NULL; + } + + cli->local_addrcnt = addrcnt; cli->flags |= OSMO_STREAM_CLI_F_RECONF; + return 0; } /*! \brief Set the protocol for the stream client socket @@ -503,10 +553,20 @@ cli->flags &= ~OSMO_STREAM_CLI_F_RECONF; - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, - cli->local_addr, cli->local_port, - cli->addr, cli->port, - OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + switch (cli->proto) { + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, + (const char **)cli->addr, cli->addrcnt, cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + break; + default: + ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + cli->local_addr[0], cli->local_port, + cli->addr[0], cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + } + if (ret < 0) { if (reconnect) osmo_stream_cli_reconnect(cli); @@ -561,10 +621,21 @@ cli->flags &= ~OSMO_STREAM_CLI_F_RECONF; - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, - cli->local_addr, cli->local_port, - cli->addr, cli->port, - OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + + switch (cli->proto) { + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, + (const char **)cli->addr, cli->addrcnt, cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + break; + default: + ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + cli->local_addr[0], cli->local_port, + cli->addr[0], cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + } + if (ret < 0) { osmo_stream_cli_reconnect(cli); return ret; -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I09f0d989f2309abdeb304fe570355abed2cd107b Gerrit-Change-Number: 15783 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 Oct 11 19:32:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 19:32:18 +0000 Subject: Change in libosmo-sccp[master]: Defer xua server binding until exit of VTY node References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 ) Change subject: Defer xua server binding until exit of VTY node ...................................................................... Defer xua server binding until exit of VTY node Commit 10d4815bb1b4b548ec0bc97611b2e7ac45e0ebc5 already fixed the issue where binding was done during L_CS7_XUA_NODE (listen) done, meaning local-ip inside it had no effect. In that comment, binding was moved to happen during "local-ip" VTY cmd. Furthermore, that commit added a new osmo_ss7_bind_all_instances() and related APIs to allow osmo-stp to have all xua servers bound if no "local-ip" was provided. These APIs have only been used so far by osmo-stp (which lays in the same git repo that libosmo-sccp) since it's the only program using the xua server features. In the present commit, let's drop the APIs added by commit described above, and instead let libosmo-sccp code to internally bind the xua server upon exit of the VTY node. As a result, the previously introduced APIs can be dropped (not used by anyone anymore) and it will provide ways to support multiple "local-ip" commands in the future, hence supporting SCTP multi-home features. It's recommended to require libosmocore.git Ia6d88c0e63d94ba99e950da6efbc4c1871070012 since it fixes a bug where go_parent_cb was not called for nodes at the end of the file. Related: OS#3608 Change-Id: I2cff17b5e2e2fbfd4591e23a416e510e94e173d6 --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M stp/stp_main.c 4 files changed, 3 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/84/15784/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index f448ce7..b1d4dab 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -108,8 +108,6 @@ void osmo_ss7_instance_destroy(struct osmo_ss7_instance *inst); int osmo_ss7_instance_set_pc_fmt(struct osmo_ss7_instance *inst, uint8_t c0, uint8_t c1, uint8_t c2); -int osmo_ss7_instance_bind(struct osmo_ss7_instance *inst); -int osmo_ss7_bind_all_instances(); struct osmo_sccp_instance *osmo_ss7_ensure_sccp(struct osmo_ss7_instance *inst); diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 053feca..1312cf3 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -425,42 +425,6 @@ return 0; } -/*! \brief bind all xUA servers belonging to an SS7 Instance - * \param[in] inst SS7 Instance to apply the socket binding (and start listening) - * \returns 0 on success; negative value on error */ -int osmo_ss7_instance_bind(struct osmo_ss7_instance *inst) -{ - struct osmo_xua_server *oxs; - int rc = 0; - - llist_for_each_entry(oxs, &inst->xua_servers, list) { - if (osmo_ss7_xua_server_bind(oxs) < 0) { - LOGSS7(inst, LOGL_ERROR, "Unable to bind xUA server %s:%u\n", - oxs->cfg.local.host, oxs->cfg.local.port); - rc = -1; - } - } - return rc; -} - -/*! \brief bind all xUA servers on each of the stored SS7 instances - * \returns 0 on success; negative value on error */ -int osmo_ss7_bind_all_instances() -{ - OSMO_ASSERT(ss7_initialized); - - struct osmo_ss7_instance *inst; - int rc = 0; - - llist_for_each_entry(inst, &osmo_ss7_instances, list) { - if (osmo_ss7_instance_bind(inst) < 0 ) { - LOGSS7(inst, LOGL_ERROR, "Unable to bind all xUA servers in ss7 instance\n"); - rc = -1; - } - } - return rc; -} - /*! Allocate an SCCP instance, if not present yet. * \returns inst->sccp. */ struct osmo_sccp_instance *osmo_ss7_ensure_sccp(struct osmo_ss7_instance *inst) diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index cc53b05..56263ee 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,10 +470,7 @@ struct osmo_xua_server *xs = vty->index; osmo_ss7_xua_server_set_local_host(xs, argv[0]); - if (osmo_ss7_xua_server_bind(xs) < 0) { - vty_out(vty, "Unable to bind xUA server to IP %s%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; - } + return CMD_SUCCESS; } @@ -1692,6 +1689,8 @@ break; case L_CS7_XUA_NODE: oxs = vty->index; + if (osmo_ss7_xua_server_bind(oxs) < 0) + vty_out(vty, "%% Unable to bind xUA server to IP(s)%s", VTY_NEWLINE); vty->node = L_CS7_NODE; vty->index = oxs->inst; break; diff --git a/stp/stp_main.c b/stp/stp_main.c index a3e3a85..4cc2586 100644 --- a/stp/stp_main.c +++ b/stp/stp_main.c @@ -191,8 +191,6 @@ exit(1); } - osmo_ss7_bind_all_instances(); - rc = telnet_init_dynif(tall_stp_ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_STP); if (rc < 0) { perror("Error binding VTY port\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I2cff17b5e2e2fbfd4591e23a416e510e94e173d6 Gerrit-Change-Number: 15784 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 Oct 11 19:32:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 19:32:19 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 ) Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... ss7: Support multiple addresses in SCTP connections After this patch, Several "local-ip" and "remote-ip" lines are accepted under "listen" and "asp" VTY nodes, allowing to configure an SCTP connection with multiple connections, hence allowing control of SCTP multi-homing features. libosmo-sccp clients such as osmo-bsc and osmo-msc also gain support for this feature with this commit. Related: OS#3608 Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Depends: libosmo-netif.git I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/sccp_user.c 4 files changed, 169 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/85/15785/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index b1d4dab..f472b44 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -8,6 +8,7 @@ #include #include #include +#include extern struct llist_head osmo_ss7_instances; @@ -342,7 +343,8 @@ ***********************************************************************/ struct osmo_ss7_asp_peer { - char *host; + char *host[OSMO_SOCK_MAX_ADDRS]; + size_t host_cnt; uint16_t port; }; @@ -403,6 +405,8 @@ } cfg; }; +int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); + struct osmo_ss7_asp * osmo_ss7_asp_find_by_name(struct osmo_ss7_instance *inst, const char *name); struct osmo_ss7_asp @@ -468,7 +472,9 @@ int osmo_ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host); - +int +osmo_ss7_xua_server_set_local_hosts(struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt); +int osmo_ss7_xua_server_add_local_host(struct osmo_xua_server *xs, const char *local_host); void osmo_ss7_xua_server_destroy(struct osmo_xua_server *xs); struct osmo_sccp_instance * diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 1312cf3..e8a0646 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1070,6 +1070,37 @@ * SS7 Application Server Process ***********************************************************************/ +int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer) +{ + int len = 0, offset = 0, rem = buf_len; + int ret, i; + char *after; + + if (buf_len < 3) + return -EINVAL; + + if (peer->host_cnt != 1) { + ret = snprintf(buf, rem, "("); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + for (i = 0; i < peer->host_cnt; i++) { + if (peer->host_cnt == 1) + after = ""; + else + after = (i == (peer->host_cnt - 1)) ? ")" : "|"; + ret = snprintf(buf + offset, rem, "%s%s", peer->host[i] ? : "0.0.0.0", after); + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + ret = snprintf(buf + offset, rem, ":%u", peer->port); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + + return len; +} + struct osmo_ss7_asp * osmo_ss7_asp_find_by_name(struct osmo_ss7_instance *inst, const char *name) { @@ -1108,6 +1139,7 @@ char hostbuf_l[64], hostbuf_r[64]; uint16_t local_port, remote_port; int rc; + int i; OSMO_ASSERT(ss7_initialized); /* convert local and remote IP to string */ @@ -1134,11 +1166,26 @@ llist_for_each_entry(inst, &osmo_ss7_instances, list) { struct osmo_ss7_asp *asp; llist_for_each_entry(asp, &inst->asp_list, list) { - if (asp->cfg.local.port == local_port && - (!asp->cfg.remote.port ||asp->cfg.remote.port == remote_port) && - (!asp->cfg.local.host || !strcmp(asp->cfg.local.host, hostbuf_l)) && - (!asp->cfg.remote.host || !strcmp(asp->cfg.remote.host, hostbuf_r))) - return asp; + if (asp->cfg.local.port != local_port) + continue; + if (asp->cfg.remote.port && asp->cfg.remote.port != remote_port) + continue; + + for (i = 0; i < asp->cfg.local.host_cnt; i++) { + if (!asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], hostbuf_l)) + break; + } + if (i == asp->cfg.local.host_cnt) + continue; /* didn't match any local.host */ + + for (i = 0; i < asp->cfg.remote.host_cnt; i++) { + if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) + break; + } + if (i == asp->cfg.remote.host_cnt) + continue; /* didn't match any remote.host */ + + return asp; } } @@ -1255,9 +1302,9 @@ return -1; } osmo_stream_cli_set_nodelay(asp->client, true); - osmo_stream_cli_set_addr(asp->client, asp->cfg.remote.host); + osmo_stream_cli_set_addrs(asp->client, (const char**)asp->cfg.remote.host, asp->cfg.remote.host_cnt); osmo_stream_cli_set_port(asp->client, asp->cfg.remote.port); - osmo_stream_cli_set_local_addr(asp->client, asp->cfg.local.host); + osmo_stream_cli_set_local_addrs(asp->client, (const char**)asp->cfg.local.host, asp->cfg.local.host_cnt); osmo_stream_cli_set_local_port(asp->client, asp->cfg.local.port); osmo_stream_cli_set_proto(asp->client, asp_proto_to_ip_proto(asp->cfg.proto)); osmo_stream_cli_set_reconnect_timeout(asp->client, 5); @@ -1704,8 +1751,11 @@ LOGP(DLSS7, LOGL_INFO, "%s: created dynamicASP %s\n", sock_name, asp->cfg.name); asp->cfg.is_server = true; + asp->cfg.local.host[0] = NULL; + asp->cfg.remote.host_cnt = 1; asp->cfg.remote.port = atoi(portbuf); - asp->cfg.remote.host = talloc_strdup(asp, hostbuf); + asp->cfg.remote.host[0] = talloc_strdup(asp, hostbuf); + asp->cfg.remote.host_cnt = 1; asp->dyn_allocated = true; asp->server = srv; osmo_ss7_asp_restart(asp); @@ -1837,17 +1887,17 @@ oxs->cfg.proto = proto; oxs->cfg.local.port = local_port; - oxs->cfg.local.host = talloc_strdup(oxs, local_host); oxs->server = osmo_stream_srv_link_create(oxs); osmo_stream_srv_link_set_data(oxs->server, oxs); osmo_stream_srv_link_set_accept_cb(oxs->server, xua_accept_cb); osmo_stream_srv_link_set_nodelay(oxs->server, true); - osmo_stream_srv_link_set_addr(oxs->server, oxs->cfg.local.host); osmo_stream_srv_link_set_port(oxs->server, oxs->cfg.local.port); osmo_stream_srv_link_set_proto(oxs->server, asp_proto_to_ip_proto(proto)); + osmo_ss7_xua_server_set_local_host(oxs, local_host); + LOGP(DLSS7, LOGL_INFO, "Created %s server on %s:%" PRIu16 "\n", get_value_string(osmo_ss7_asp_protocol_vals, proto), local_host, local_port); @@ -1868,20 +1918,74 @@ int osmo_ss7_xua_server_bind(struct osmo_xua_server *xs) { - LOGP(DLSS7, LOGL_INFO, "(Re)binding %s Server to %s:%u\n", - get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto), - xs->cfg.local.host, xs->cfg.local.port); + char buf[512]; + int rc; + const char *proto = get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto); + + rc = osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &xs->cfg.local); + if (rc < 0) { + LOGP(DLSS7, LOGL_INFO, "Failed parsing %s Server osmo_ss7_asp_peer\n", proto); + } else { + LOGP(DLSS7, LOGL_INFO, "(Re)binding %s Server to %s\n", + proto, buf); + } return osmo_stream_srv_link_open(xs->server); } int osmo_ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host) { + osmo_ss7_xua_server_set_local_hosts(xs, &local_host, 1); + return 0; +} + +int +osmo_ss7_xua_server_set_local_hosts(struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt) +{ + int i = 0; OSMO_ASSERT(ss7_initialized); - osmo_talloc_replace_string(xs, &xs->cfg.local.host, local_host); - osmo_stream_srv_link_set_addr(xs->server, xs->cfg.local.host); + if (local_host_cnt > ARRAY_SIZE(xs->cfg.local.host)) + return -EINVAL; + for (; i < local_host_cnt; i++) + osmo_talloc_replace_string(xs, &xs->cfg.local.host[i], local_hosts[i]); + for (; i < xs->cfg.local.host_cnt; i++) { + talloc_free(xs->cfg.local.host[i]); + xs->cfg.local.host[i] = NULL; + } + + xs->cfg.local.host_cnt = local_host_cnt; + + osmo_stream_srv_link_set_addrs(xs->server, (const char **)xs->cfg.local.host, xs->cfg.local.host_cnt); + + return 0; +} + +int +osmo_ss7_xua_server_add_local_host(struct osmo_xua_server *xs, const char *local_host) +{ + int i; + bool new_is_any = !local_host || !strcmp(local_host, "0.0.0.0"); + bool iter_is_any; + + /* Makes no sense to have INET_ANY and specific addresses in the set */ + for (; i < xs->cfg.local.host_cnt; i++) { + iter_is_any = !xs->cfg.local.host[i] || + !strcmp(xs->cfg.local.host[i], "0.0.0.0"); + if (new_is_any && iter_is_any) + return -EINVAL; + if (!new_is_any && iter_is_any) + return -EINVAL; + } + /* Makes no sense to have INET_ANY many times */ + if (new_is_any && xs->cfg.local.host_cnt) + return -EINVAL; + + osmo_talloc_replace_string(xs, &xs->cfg.local.host[xs->cfg.local.host_cnt], local_host); + xs->cfg.local.host_cnt++; + + osmo_stream_srv_link_set_addrs(xs->server, (const char **)xs->cfg.local.host, xs->cfg.local.host_cnt); return 0; } diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 56263ee..d384843 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -436,6 +436,8 @@ xs = osmo_ss7_xua_server_create(inst, proto, port, NULL); if (!xs) return CMD_SUCCESS; + /* Drop first dummy address created automatically by _create(): */ + osmo_ss7_xua_server_set_local_hosts(xs, NULL, 0); } vty->node = L_CS7_XUA_NODE; @@ -469,7 +471,7 @@ { struct osmo_xua_server *xs = vty->index; - osmo_ss7_xua_server_set_local_host(xs, argv[0]); + osmo_ss7_xua_server_add_local_host(xs, argv[0]); return CMD_SUCCESS; } @@ -492,21 +494,26 @@ static void write_one_xua(struct vty *vty, struct osmo_xua_server *xs) { + int i; vty_out(vty, " listen %s %u%s", get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto), xs->cfg.local.port, VTY_NEWLINE); - if (xs->cfg.local.host) - vty_out(vty, " local-ip %s%s", xs->cfg.local.host, VTY_NEWLINE); + + for (i = 0; i < xs->cfg.local.host_cnt; i++) { + if (xs->cfg.local.host) + vty_out(vty, " local-ip %s%s", xs->cfg.local.host[i], VTY_NEWLINE); + } if (xs->cfg.accept_dyn_reg) vty_out(vty, " accept-asp-connections dynamic-permitted%s", VTY_NEWLINE); } static void vty_dump_xua_server(struct vty *vty, struct osmo_xua_server *xs) { - vty_out(vty, "xUA server for %s on %s:%u%s", - get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto), - xs->cfg.local.host ? xs->cfg.local.host : "0.0.0.0", - xs->cfg.local.port, VTY_NEWLINE); + char buf[512]; + const char *proto = get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto); + if (osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &xs->cfg.local) < 0) + snprintf(buf, sizeof(buf), ""); + vty_out(vty, "xUA server for %s on %s%s", proto, buf, VTY_NEWLINE); } DEFUN(show_cs7_xua, show_cs7_xua_cmd, @@ -604,7 +611,8 @@ "Local IP Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_talloc_replace_string(asp, &asp->cfg.local.host, argv[0]); + osmo_talloc_replace_string(asp, &asp->cfg.local.host[asp->cfg.local.host_cnt], argv[0]); + asp->cfg.local.host_cnt++; return CMD_SUCCESS; } @@ -614,7 +622,8 @@ "Remote IP Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_talloc_replace_string(asp, &asp->cfg.remote.host, argv[0]); + osmo_talloc_replace_string(asp, &asp->cfg.remote.host[asp->cfg.remote.host_cnt], argv[0]); + asp->cfg.remote.host_cnt++; return CMD_SUCCESS; } @@ -652,6 +661,7 @@ { struct osmo_ss7_instance *inst; struct osmo_ss7_asp *asp; + char buf[512]; int id = atoi(argv[0]); inst = osmo_ss7_instance_find(id); @@ -661,21 +671,23 @@ } vty_out(vty, " Effect Primary%s", VTY_NEWLINE); - vty_out(vty, "ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP%s", VTY_NEWLINE); - vty_out(vty, "------------ ------------ ------------- ---- -------- --------------- ----------%s", VTY_NEWLINE); + vty_out(vty, "ASP Name AS Name State Type Remote IP Addr Rmt Port SCTP%s", VTY_NEWLINE); + vty_out(vty, "------------ ------------ ------------- ---- -------------- -------- ----------%s", VTY_NEWLINE); llist_for_each_entry(asp, &inst->asp_list, list) { - vty_out(vty, "%-12s %-12s %-13s %-4s %-8u %-15s %-10s%s", + osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &asp->cfg.remote); + vty_out(vty, "%-12s %-12s %-13s %-4s %-23s %-10s%s", asp->cfg.name, "?", asp->fi? osmo_fsm_inst_state_name(asp->fi) : "uninitialized", get_value_string(osmo_ss7_asp_protocol_vals, asp->cfg.proto), - asp->cfg.remote.port, asp->cfg.remote.host, "", VTY_NEWLINE); + buf, "", VTY_NEWLINE); } return CMD_SUCCESS; } static void write_one_asp(struct vty *vty, struct osmo_ss7_asp *asp) { + int i; /* skip any dynamically created ASPs (e.g. auto-created at connect time) */ if (asp->dyn_allocated || asp->simple_client_allocated) return; @@ -685,10 +697,14 @@ osmo_ss7_asp_protocol_name(asp->cfg.proto), VTY_NEWLINE); if (asp->cfg.description) vty_out(vty, " description %s%s", asp->cfg.description, VTY_NEWLINE); - if (asp->cfg.local.host) - vty_out(vty, " local-ip %s%s", asp->cfg.local.host, VTY_NEWLINE); - if (asp->cfg.remote.host) - vty_out(vty, " remote-ip %s%s", asp->cfg.remote.host, VTY_NEWLINE); + for (i = 0; i < asp->cfg.local.host_cnt; i++) { + if (asp->cfg.local.host) + vty_out(vty, " local-ip %s%s", asp->cfg.local.host[i], VTY_NEWLINE); + } + for (i = 0; i < asp->cfg.remote.host_cnt; i++) { + if (asp->cfg.remote.host) + vty_out(vty, " remote-ip %s%s", asp->cfg.remote.host[i], VTY_NEWLINE); + } if (asp->cfg.qos_class) vty_out(vty, " qos-class %u%s", asp->cfg.qos_class, VTY_NEWLINE); } @@ -1689,6 +1705,9 @@ break; case L_CS7_XUA_NODE: oxs = vty->index; + /* If no local addr was set, or erased after _create(): */ + if (!oxs->cfg.local.host_cnt) + osmo_ss7_xua_server_set_local_host(oxs, NULL); if (osmo_ss7_xua_server_bind(oxs) < 0) vty_out(vty, "%% Unable to bind xUA server to IP(s)%s", VTY_NEWLINE); vty->node = L_CS7_NODE; diff --git a/src/sccp_user.c b/src/sccp_user.c index a1302d9..4e4144e 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -566,16 +566,18 @@ goto out_rt; asp_created = true; - asp->cfg.local.host = NULL; - asp->cfg.remote.host = NULL; + asp->cfg.local.host[0] = NULL; + asp->cfg.remote.host[0] = NULL; if (default_local_ip) { - asp->cfg.local.host = + asp->cfg.local.host[0] = talloc_strdup(asp, default_local_ip); } if (default_remote_ip) { - asp->cfg.remote.host = + asp->cfg.remote.host[0] = talloc_strdup(asp, default_remote_ip); } + asp->cfg.local.host_cnt = 1; + asp->cfg.remote.host_cnt = 1; asp->simple_client_allocated = true; } else talloc_free(asp_name); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 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 Oct 11 19:32:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 11 Oct 2019 19:32:19 +0000 Subject: Change in libosmo-sccp[master]: ss7: Log local and remote address set upon ASP restart References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 ) Change subject: ss7: Log local and remote address set upon ASP restart ...................................................................... ss7: Log local and remote address set upon ASP restart Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 --- M src/osmo_ss7.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/86/15786/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index e8a0646..4ca3d53 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1282,9 +1282,13 @@ { int rc; enum xua_asp_role role; + char bufloc[512], bufrem[512]; OSMO_ASSERT(ss7_initialized); - LOGSS7(asp->inst, LOGL_INFO, "Restarting ASP %s\n", asp->cfg.name); + osmo_ss7_asp_peer_snprintf(bufloc, sizeof(bufloc), &asp->cfg.local); + osmo_ss7_asp_peer_snprintf(bufrem, sizeof(bufrem), &asp->cfg.remote); + LOGSS7(asp->inst, LOGL_INFO, "Restarting ASP %s, %s ==> %s\n", + asp->cfg.name, bufloc, bufrem); if (!asp->cfg.is_server) { /* We are in client mode now */ @@ -1317,7 +1321,7 @@ rc = osmo_stream_cli_open(asp->client); if (rc < 0) { LOGSS7(asp->inst, LOGL_ERROR, "Unable to open stream" - " client for ASP %s\n", asp->cfg.name); + " client for ASP %s, %s ==> %s\n", asp->cfg.name, bufloc, bufrem); /* we don't return error in here because osmo_stream_cli_open() will continue to retry (due to timeout being explicitly set with osmo_stream_cli_set_reconnect_timeout() above) to connect so the error is transient */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 Gerrit-Change-Number: 15786 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri Oct 11 23:59:45 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 11 Oct 2019 23:59:45 +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_#2413?= Message-ID: <1210829484.12.1570838385719.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 11.69 KB...] 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 whether gcc is Clang... no checking whether pthreads work with -pthread... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking whether more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes 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.44-0fd0 > .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/bit32gen.h GEN osmocom/core/bit16gen.h GEN osmocom/core/crc32gen.h GEN osmocom/core/crc64gen.h GEN osmocom/core/bit64gen.h GEN osmocom/core/bit64gen.h GEN osmocom/core/bit32gen.h GEN osmocom/core/crc32gen.h GEN osmocom/core/crc16gen.h GEN osmocom/core/crc8gen.h GEN osmocom/core/bit16gen.h GEN osmocom/core/crc16gen.h GEN osmocom/core/crc8gen.h GEN osmocom/core/crc64gen.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 crc16gen.c GEN crc64gen.c GEN crc32gen.c make install-am make[3]: Entering directory ' CC context.lo CC timer_gettimeofday.lo CC timer.lo CC signal.lo CC msgb.lo CC select.lo CC bits.lo CC timer_clockgettime.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 CC crc16.lo CC panic.lo 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 prim.lo CC stats_statsd.lo /bin/bash: line 2: 11958 Segmentation fault /bin/bash ../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -DBUILDING_LIBOSMOCORE -Wall -Wall -pthread -g -O2 -DBUILDING_LIBOSMOCORE -Wall -MT crc64gen.lo -MD -MP -MF $depbase.Tpo -c -o crc64gen.lo crc64gen.c Makefile:573: recipe for target 'crc64gen.lo' failed make[3]: *** [crc64gen.lo] Error 139 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory ' Makefile:677: recipe for target 'install' failed make[2]: *** [install] Error 2 make[2]: Leaving directory ' Makefile:632: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:931: 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 admin at opensuse.org Sat Oct 12 01:48:29 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 12 Oct 2019 01:48:29 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5da1310092cd3_5d032ab91c1285f43237b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 165s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18304 timestamp=847016806 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18305 timestamp=847016966 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18306 timestamp=847017126 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18307 timestamp=847017286 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18308 timestamp=847017446 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] sys={28.604242}, mono={5.180000}: clock_override_add [ 165s] -sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18309 timestamp=847017606 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 165s] sys={28.624242}, mono={5.200000}: clock_override_add [ 165s] sys={28.624242}, mono={5.200000}: OK: Test passed [ 165s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) [ 165s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 165s] make[1]: *** [override_dh_auto_test] Error 1 [ 165s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 165s] debian/rules:13: recipe for target 'build' failed [ 165s] make: *** [build] Error 2 [ 165s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 165s] [ 165s] cloud133 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sat Oct 12 01:48:09 UTC 2019. [ 165s] [ 165s] ### VM INTERACTION START ### [ 166s] Powering off. [ 166s] [ 137.475891] reboot: Power down [ 168s] ### VM INTERACTION END ### [ 168s] [ 168s] cloud133 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sat Oct 12 01:48:13 UTC 2019. [ 168s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Oct 12 02:02:47 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 12 Oct 2019 02:02:47 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5da1346770f84_5d032ab91c1285f432546b@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: [ 106s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18304 timestamp=847016806 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18305 timestamp=847016966 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18306 timestamp=847017126 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18307 timestamp=847017286 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18308 timestamp=847017446 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] sys={28.604242}, mono={5.180000}: clock_override_add [ 106s] -sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18309 timestamp=847017606 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 106s] sys={28.624242}, mono={5.200000}: clock_override_add [ 106s] sys={28.624242}, mono={5.200000}: OK: Test passed [ 106s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) [ 106s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 106s] make[1]: *** [override_dh_auto_test] Error 1 [ 106s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 106s] debian/rules:13: recipe for target 'build' failed [ 106s] make: *** [build] Error 2 [ 106s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 106s] [ 106s] lamb25 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sat Oct 12 02:02:38 UTC 2019. [ 106s] [ 106s] ### VM INTERACTION START ### [ 107s] Powering off. [ 107s] [ 95.759708] reboot: Power down [ 107s] ### VM INTERACTION END ### [ 107s] [ 107s] lamb25 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sat Oct 12 02:02:39 UTC 2019. [ 107s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From jenkins at lists.osmocom.org Sat Oct 12 19:20:30 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 12 Oct 2019 19:20:30 +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_#2414?= In-Reply-To: <1210829484.12.1570838385719.JavaMail.jenkins@jenkins.osmocom.org> References: <1210829484.12.1570838385719.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <432961871.42.1570908030756.JavaMail.jenkins@jenkins.osmocom.org> See From admin at opensuse.org Sun Oct 13 01:52:04 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 01:52:04 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5da28346ddbad_5d032ab91c1285f4610310@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 116s] | #define HAVE_DLFCN_H 1 [ 116s] | #define LT_OBJDIR ".libs/" [ 116s] | #define STDC_HEADERS 1 [ 116s] | #define HAVE_EXECINFO_H 1 [ 116s] | #define HAVE_SYS_SELECT_H 1 [ 116s] | #define HAVE_SYS_SOCKET_H 1 [ 116s] | #define HAVE_SYSLOG_H 1 [ 116s] | #define HAVE_CTYPE_H 1 [ 116s] | #define HAVE_LIBSCTP 1 [ 116s] | #define HAVE_PCAP_H 1 [ 116s] | [ 116s] | configure: exit 0 [ 116s] [ 116s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 116s] make[1]: *** [override_dh_auto_test] Error 1 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 116s] debian/rules:13: recipe for target 'build' failed [ 116s] make: *** [build] Error 2 [ 116s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 116s] [ 116s] lamb51 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sun Oct 13 01:51:45 UTC 2019. [ 116s] [ 116s] ### VM INTERACTION START ### [ 117s] Powering off. [ 117s] [ 104.263567] reboot: Power down [ 117s] ### VM INTERACTION END ### [ 117s] [ 117s] lamb51 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sun Oct 13 01:51:47 UTC 2019. [ 117s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 02:04:55 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 02:04:55 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5da2865347f76_5d032ab91c1285f461063d@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: [ 145s] | #define HAVE_DLFCN_H 1 [ 145s] | #define LT_OBJDIR ".libs/" [ 145s] | #define STDC_HEADERS 1 [ 145s] | #define HAVE_EXECINFO_H 1 [ 145s] | #define HAVE_SYS_SELECT_H 1 [ 145s] | #define HAVE_SYS_SOCKET_H 1 [ 145s] | #define HAVE_SYSLOG_H 1 [ 145s] | #define HAVE_CTYPE_H 1 [ 145s] | #define HAVE_LIBSCTP 1 [ 145s] | #define HAVE_PCAP_H 1 [ 145s] | [ 145s] | configure: exit 0 [ 145s] [ 145s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 145s] make[1]: *** [override_dh_auto_test] Error 1 [ 145s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 145s] debian/rules:13: recipe for target 'build' failed [ 145s] make: *** [build] Error 2 [ 145s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 145s] [ 145s] cloud108 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sun Oct 13 02:04:45 UTC 2019. [ 145s] [ 145s] ### VM INTERACTION START ### [ 146s] Powering off. [ 146s] [ 120.961127] reboot: Power down [ 147s] ### VM INTERACTION END ### [ 147s] [ 147s] cloud108 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Sun Oct 13 02:04:47 UTC 2019. [ 147s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 02:53:46 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 02:53:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da291cc7aa2f_5d032ab91c1285f461371d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was lamb70:2) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 02:56:04 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 02:56:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da2924926778_5d032ab91c1285f46138e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was cloud121:4) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 02:56:38 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 02:56:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da29281a2d75_5d032ab91c1285f4613948@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was lamb02:7) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 03:02:04 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 03:02:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da293afccb10_5d032ab91c1285f46143ef@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was build73:2) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 03:04:21 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 03:04:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da2944621d0b_5d032ab91c1285f46145b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was lamb15:6) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 03:04:21 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 03:04:21 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da294458dd45_5d032ab91c1285f461448d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_Testing/x86_64 Package network:osmocom:nightly/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was cloud118:2) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 03:26:04 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 03:26:04 +0000 Subject: Build failure of network:osmocom:nightly/orcania in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da2994f7acb4_5d032ab91c1285f4615718@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/Debian_Testing/x86_64 Package network:osmocom:nightly/orcania failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was lamb07:3) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Oct 13 03:28:38 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 13 Oct 2019 03:28:38 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5da29a039df32_5d032ab91c1285f461593b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_Testing/x86_64 Package network:osmocom:nightly/limesuite failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: getbinaries: missing packages: libperl5.28 perl-modules-5.28 (worker was lamb65:2) -- 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 Oct 13 17:08:28 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 13 Oct 2019 17:08:28 +0000 Subject: Change in osmo-trx[master]: Fix common misspellings and typos References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15787 ) Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I4ec7accb1912c052b446be7c399bed32a8c62253 --- M CommonLibs/BitVector.cpp M CommonLibs/Interthread.h M CommonLibs/LinkedLists.h M CommonLibs/Threads.h M CommonLibs/Timeval.h M CommonLibs/Vector.h M CommonLibs/trx_rate_ctr.cpp M CommonLibs/trx_vty.c M Transceiver52M/Channelizer.cpp M Transceiver52M/ChannelizerBase.cpp M Transceiver52M/ChannelizerBase.h M Transceiver52M/Complex.h M Transceiver52M/Resampler.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/arch/arm/convolve.c M Transceiver52M/arch/common/fft.c M Transceiver52M/arch/x86/convert.c M Transceiver52M/arch/x86/convolve.c M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/common/smpl_buf.h M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/device/usrp1/USRPDevice.h M Transceiver52M/proto_trxd.c M Transceiver52M/radioInterface.h M Transceiver52M/sigProcLib.cpp M Transceiver52M/sigProcLib.h M configure.ac M contrib/jenkins.sh M doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc M doc/manuals/chapters/trx-backends.adoc M doc/manuals/vty/trx_vty_reference.xml M tests/Transceiver52M/convolve_test.c 34 files changed, 40 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/87/15787/1 diff --git a/CommonLibs/BitVector.cpp b/CommonLibs/BitVector.cpp index 26b44ee..1bc8f43 100644 --- a/CommonLibs/BitVector.cpp +++ b/CommonLibs/BitVector.cpp @@ -37,7 +37,7 @@ /** - Apply a Galois polymonial to a binary seqeunce. + Apply a Galois polymonial to a binary sequence. @param val The input sequence. @param poly The polynomial. @param order The order of the polynomial. diff --git a/CommonLibs/Interthread.h b/CommonLibs/Interthread.h index 8169985..881e1a8 100644 --- a/CommonLibs/Interthread.h +++ b/CommonLibs/Interthread.h @@ -47,7 +47,7 @@ // (pat) The elements in the queue are type T*, and // the Fifo class implements the underlying queue. // The default is class PointerFIFO, which does not place any restrictions on the type of T, -// and is implemented by allocating auxilliary structures for the queue, +// and is implemented by allocating auxiliary structures for the queue, // or SingleLinkedList, which implements the queue using an internal pointer in type T, // which must implement the functional interface of class SingleLinkListNode, // namely: functions T*next() and void setNext(T*). diff --git a/CommonLibs/LinkedLists.h b/CommonLibs/LinkedLists.h index e98b41a..f5502e7 100644 --- a/CommonLibs/LinkedLists.h +++ b/CommonLibs/LinkedLists.h @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0+ * * This software is distributed under multiple licenses; see the COPYING file in -* the main directory for licensing information for this specific distribuion. +* the main directory for licensing information for this specific distribution. * * This software is distributed under the terms of the GNU Affero Public License. * See the COPYING file in the main directory for details. diff --git a/CommonLibs/Threads.h b/CommonLibs/Threads.h index df61c72..5ff137b 100644 --- a/CommonLibs/Threads.h +++ b/CommonLibs/Threads.h @@ -186,7 +186,7 @@ } } - /** Send cancelation to thread */ + /** Send cancellation to thread */ void cancel() { pthread_cancel(mThread); } }; diff --git a/CommonLibs/Timeval.h b/CommonLibs/Timeval.h index 0826c12..18ea4b4 100644 --- a/CommonLibs/Timeval.h +++ b/CommonLibs/Timeval.h @@ -84,7 +84,7 @@ uint32_t usec() const { return mTimespec.tv_nsec / 1000; } uint32_t nsec() const { return mTimespec.tv_nsec; } - /** Return differnce from other (other-self), in ms. */ + /** Return difference from other (other-self), in ms. */ long delta(const Timeval& other) const; /** Elapsed time in ms. */ diff --git a/CommonLibs/Vector.h b/CommonLibs/Vector.h index 0970248..012a0fa 100644 --- a/CommonLibs/Vector.h +++ b/CommonLibs/Vector.h @@ -36,7 +36,7 @@ #include #include -// We cant use Logger.h in this file... +// We can't use Logger.h in this file... extern int gVectorDebug; #define BVDEBUG(msg) if (gVectorDebug) {std::cout << msg;} diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp index a9ef88c..1b44b13 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -38,7 +38,7 @@ * That signal is processed here in device_sig_cb, where a copy of the "struct * device_counters" structure is held and the main thread is instructed through * a timerfd to update rate_ctr APIs against this copy. All this is done inside - * a mutex to avoid different race conditons (between Rx andTx threads, and + * a mutex to avoid different race conditions (between Rx andTx threads, and * between Rx/Tx and main thread). For the same reason, callers of signal * (device_sig_cb), that is Rx/Tx threads, * must do so with PTHREAD_CANCEL_DISABLE, in order to avoid possible deadlocks diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index bac9653..b3771e5 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -222,7 +222,7 @@ DEFUN(cfg_clock_ref, cfg_clock_ref_cmd, "clock-ref (internal|external|gpsdo)", "Set the Reference Clock\n" - "Enable internal referece (default)\n" + "Enable internal reference (default)\n" "Enable external 10 MHz reference\n" "Enable GPSDO reference\n") { diff --git a/Transceiver52M/Channelizer.cpp b/Transceiver52M/Channelizer.cpp index 341cd0a..0522f20 100644 --- a/Transceiver52M/Channelizer.cpp +++ b/Transceiver52M/Channelizer.cpp @@ -98,7 +98,7 @@ return true; } -/* Setup channelizer paramaters */ +/* Setup channelizer parameters */ Channelizer::Channelizer(size_t m, size_t blockLen, size_t hLen) : ChannelizerBase(m, blockLen, hLen) { diff --git a/Transceiver52M/ChannelizerBase.cpp b/Transceiver52M/ChannelizerBase.cpp index f3f07c1..e6eeed2 100644 --- a/Transceiver52M/ChannelizerBase.cpp +++ b/Transceiver52M/ChannelizerBase.cpp @@ -225,7 +225,7 @@ } /* - * Setup channelizer paramaters + * Setup channelizer parameters */ ChannelizerBase::ChannelizerBase(size_t m, size_t blockLen, size_t hLen) : subFilters(NULL), hInputs(NULL), hOutputs(NULL), hist(NULL), diff --git a/Transceiver52M/ChannelizerBase.h b/Transceiver52M/ChannelizerBase.h index 7da506b..025ff25 100644 --- a/Transceiver52M/ChannelizerBase.h +++ b/Transceiver52M/ChannelizerBase.h @@ -32,7 +32,7 @@ /* Buffer length validity checking */ bool checkLen(size_t innerLen, size_t outerLen); public: - /* Initilize channelizer/synthesis filter internals */ + /* Initialize channelizer/synthesis filter internals */ bool init(); }; diff --git a/Transceiver52M/Complex.h b/Transceiver52M/Complex.h index d02944b..6e72346 100644 --- a/Transceiver52M/Complex.h +++ b/Transceiver52M/Complex.h @@ -5,7 +5,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/Resampler.h b/Transceiver52M/Resampler.h index 139b857..5af8d26 100644 --- a/Transceiver52M/Resampler.h +++ b/Transceiver52M/Resampler.h @@ -35,12 +35,12 @@ Resampler(size_t p, size_t q, size_t filt_len = 16); ~Resampler(); - /* Initilize resampler filterbank. + /* Initialize resampler filterbank. * @param bw bandwidth factor on filter generation (pre-window) * @return false on error, zero otherwise * * Automatic setting is to compute the filter to prevent aliasing with - * a Blackman-Harris window. Adjustment is made through a bandwith + * a Blackman-Harris window. Adjustment is made through a bandwidth * factor to shift the cutoff and/or the constituent filter lengths. * Calculation of specific rolloff factors or 3-dB cutoff points is * left as an excersize for the reader. diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 2f4018c..9697bb3 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -909,7 +909,7 @@ sprintf(response, "RSP SETFORMAT %u %u", version_recv, version_recv); } } else if (match_cmd(command, "_SETBURSTTODISKMASK", ¶ms)) { - // debug command! may change or disapear without notice + // debug command! may change or disappear without notice // set a mask which bursts to dump to disk int mask; sscanf(params, "%d", &mask); diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 30f6a60..ed063dd 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -216,7 +216,7 @@ bool start(); void stop(); - /** Protect destructor accessable stop call */ + /** Protect destructor accessible stop call */ Mutex mLock; protected: diff --git a/Transceiver52M/arch/arm/convolve.c b/Transceiver52M/arch/arm/convolve.c index 63b1655..adb718d 100644 --- a/Transceiver52M/arch/arm/convolve.c +++ b/Transceiver52M/arch/arm/convolve.c @@ -58,7 +58,7 @@ } #endif -/* API: Initalize convolve module */ +/* API: Initialize convolve module */ void convolve_init(void) { /* Stub */ diff --git a/Transceiver52M/arch/common/fft.c b/Transceiver52M/arch/common/fft.c index ad096b1..2261672 100644 --- a/Transceiver52M/arch/common/fft.c +++ b/Transceiver52M/arch/common/fft.c @@ -103,7 +103,7 @@ } /*! \brief Run multiple DFT operations with the initialized plan - * \param[in] hdl handle to an intitialized fft struct + * \param[in] hdl handle to an initialized fft struct * * Input and output buffers are configured with init_fft(). */ diff --git a/Transceiver52M/arch/x86/convert.c b/Transceiver52M/arch/x86/convert.c index 07cdf59..bbcfd67 100644 --- a/Transceiver52M/arch/x86/convert.c +++ b/Transceiver52M/arch/x86/convert.c @@ -27,7 +27,7 @@ #include "config.h" #endif -/* Architecture dependant function pointers */ +/* Architecture dependent function pointers */ struct convert_cpu_context { void (*convert_si16_ps_16n) (float *, const short *, int); void (*convert_si16_ps) (float *, const short *, int); diff --git a/Transceiver52M/arch/x86/convolve.c b/Transceiver52M/arch/x86/convolve.c index 209d377..66fca74 100644 --- a/Transceiver52M/arch/x86/convolve.c +++ b/Transceiver52M/arch/x86/convolve.c @@ -27,7 +27,7 @@ #include "config.h" #endif -/* Architecture dependant function pointers */ +/* Architecture dependent function pointers */ struct convolve_cpu_context { void (*conv_cmplx_4n) (const float *, int, const float *, int, float *, int, int, int); @@ -66,7 +66,7 @@ int bounds_check(int x_len, int h_len, int y_len, int start, int len); -/* API: Initalize convolve module */ +/* API: Initialize convolve module */ void convolve_init(void) { c.conv_cmplx_4n = (void *)_base_convolve_complex; diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index d27a52c..26903e8 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -1,7 +1,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/device/common/smpl_buf.h b/Transceiver52M/device/common/smpl_buf.h index 383c814..ab612de 100644 --- a/Transceiver52M/device/common/smpl_buf.h +++ b/Transceiver52M/device/common/smpl_buf.h @@ -33,7 +33,7 @@ /* Sample Buffer - Allows reading and writing of timed samples using osmo-trx timestamps. Time conversions are handled - internally or accessable through the static convert calls. + internally or accessible through the static convert calls. */ class smpl_buf { public: diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index feeb646..b5993b8 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -624,7 +624,7 @@ m_ctr[chan].rx_overruns += status.overrun; /* Dropped packets in Rx are counted when gaps in Rx timestamps are - detected (likely because buffer oveflow in hardware). Value count + detected (likely because buffer overflow in hardware). Value count since the last call to LMS_GetStreamStatus(stream). */ if (status.droppedPackets) { changed = true; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 1464c53..003d064 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0+ * * This software is distributed under multiple licenses; see the COPYING file in -* the main directory for licensing information for this specific distribuion. +* the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index bb70648..6dfa5f0 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0+ * * This software is distributed under multiple licenses; see the COPYING file in -* the main directory for licensing information for this specific distribuion. +* the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/proto_trxd.c b/Transceiver52M/proto_trxd.c index fbef77a..5a898b9 100644 --- a/Transceiver52M/proto_trxd.c +++ b/Transceiver52M/proto_trxd.c @@ -72,7 +72,7 @@ if(bi->idle) return true; - /* +2: Historically (OpenBTS times), two extra non-used bytes are sent appeneded to each burst */ + /* +2: Historically (OpenBTS times), two extra non-used bytes are sent appended to each burst */ char buf[sizeof(struct trxd_hdr_v0) + bi->nbits + 2]; struct trxd_hdr_v0* pkt = (struct trxd_hdr_v0*)buf; diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index d72fb69..d9fa414 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -1,7 +1,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. @@ -79,7 +79,7 @@ bool start(); bool stop(); - /** intialization */ + /** initialization */ virtual bool init(int type); virtual void close(); diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp index 011ddff..04f7e30 100644 --- a/Transceiver52M/sigProcLib.cpp +++ b/Transceiver52M/sigProcLib.cpp @@ -345,7 +345,7 @@ _x = x; /* - * Four convovle types: + * Four convolve types: * 1. Complex-Real (aligned) * 2. Complex-Complex (aligned) * 3. Complex-Real (!aligned) @@ -723,7 +723,7 @@ * * Delay the EDGE downlink bursts by one symbol in order to match GMSK pulse * shaping group delay. The difference in group delay arises from the dual - * pulse filter combination of the GMSK Laurent represenation whereas 8-PSK + * pulse filter combination of the GMSK Laurent representation whereas 8-PSK * uses a single pulse linear filter. */ static signalVector *shapeEdgeBurst(const signalVector &symbols) diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h index fd9a5f0..dd03190 100644 --- a/Transceiver52M/sigProcLib.h +++ b/Transceiver52M/sigProcLib.h @@ -1,7 +1,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/configure.ac b/configure.ac index 350c77c..d5463e9 100644 --- a/configure.ac +++ b/configure.ac @@ -65,7 +65,7 @@ dnl Checks for header files. AC_HEADER_STDC -dnl This is required for GnuRadio includes to understand endianess correctly: +dnl This is required for GnuRadio includes to understand endianness correctly: AC_CHECK_HEADERS([byteswap.h]) dnl Checks for typedefs, structures, and compiler characteristics. diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index f3f5ed9..84e4ea7 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -15,7 +15,7 @@ mychroot_nocwd() { # LC_ALL + LANGUAGE set to avoid lots of print errors due to locale not being set inside container # PATH is needed to be able to reach binaries like ldconfig without logging in to root, which adds the paths to PATH. - # PROOT_NO_SECCOMP is requried due to proot bug #106 + # PROOT_NO_SECCOMP is required due to proot bug #106 LC_ALL=C LANGUAGE=C PATH="$PATH:/usr/sbin:/sbin" PROOT_NO_SECCOMP=1 proot -r "$ROOTFS" -w / -b /proc --root-id -q qemu-arm-static "$@" } diff --git a/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc b/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc index dac77e0..693bb60 100644 --- a/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc +++ b/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc @@ -3,7 +3,7 @@ This section specifies the format of USB packets used for in-band data transmission and signaling on the USRP1. All packets are 512-byte long, and are -transfered using USB "bulk" transfers. +transferred using USB "bulk" transfers. IN packets are sent towards the host. OUT packets are sent away from the host. diff --git a/doc/manuals/chapters/trx-backends.adoc b/doc/manuals/chapters/trx-backends.adoc index fb1e960..78bc45d 100644 --- a/doc/manuals/chapters/trx-backends.adoc +++ b/doc/manuals/chapters/trx-backends.adoc @@ -12,7 +12,7 @@ for legacy @osmo-trx@ binary when per-backend binaries didn't exist yet. Any device providing generic support for UHD should theoretically be able to be -run through this backend without much effort, but pracitcal experience showed +run through this backend without much effort, but practical experience showed that some devices don't play well with it, such as the LimeSDR family of devices, which showed far better results when using its native interface. diff --git a/doc/manuals/vty/trx_vty_reference.xml b/doc/manuals/vty/trx_vty_reference.xml index 38d64c1..8738235 100644 --- a/doc/manuals/vty/trx_vty_reference.xml +++ b/doc/manuals/vty/trx_vty_reference.xml @@ -1196,7 +1196,7 @@ - + diff --git a/tests/Transceiver52M/convolve_test.c b/tests/Transceiver52M/convolve_test.c index cda5385..168c847 100644 --- a/tests/Transceiver52M/convolve_test.c +++ b/tests/Transceiver52M/convolve_test.c @@ -146,9 +146,9 @@ float *h; float *y; - int x_len; /* Theses are in # of _floats_ ! */ - int h_len; /* Theses are in # of _floats_ ! */ - int y_len; /* Theses are in # of _floats_ ! */ + int x_len; /* These are in # of _floats_ ! */ + int h_len; /* These are in # of _floats_ ! */ + int y_len; /* These are in # of _floats_ ! */ }; /* Reset test vectors */ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4ec7accb1912c052b446be7c399bed32a8c62253 Gerrit-Change-Number: 15787 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Oct 13 17:10:00 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 13 Oct 2019 17:10:00 +0000 Subject: Change in osmo-bts[master]: Fix common misspellings and typos References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15788 ) Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I403b9029f57fec3fdec2c1e2cbeac0f6eab53f24 --- M README.md M doc/control_interface.txt M doc/manuals/abis/rsl.adoc M doc/manuals/chapters/bts-models.adoc M doc/manuals/chapters/configuration.adoc M doc/manuals/chapters/overview.adoc M doc/manuals/rtp-amr.adoc M doc/startup.txt M include/osmo-bts/gsm_data_shared.h M src/common/abis.c M src/common/bts.c M src/common/cbch.c M src/common/handover.c M src/common/l1sap.c M src/common/load_indication.c M src/common/measurement.c M src/common/pcu_sock.c M src/common/rsl.c M src/common/scheduler.c M src/osmo-bts-litecell15/calib_file.c M src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c M src/osmo-bts-litecell15/misc/lc15bts_misc.c M src/osmo-bts-litecell15/oml.c M src/osmo-bts-oc2g/calib_file.c M src/osmo-bts-oc2g/l1_if.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c M src/osmo-bts-oc2g/misc/oc2gbts_misc.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-octphy/octphy_vty.c M src/osmo-bts-octphy/octpkt.c M src/osmo-bts-sysmo/eeprom.c M src/osmo-bts-sysmo/misc/sysmobts-layer1.c M src/osmo-bts-sysmo/misc/sysmobts_mgr.c M src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c M src/osmo-bts-sysmo/misc/sysmobts_misc.c M src/osmo-bts-sysmo/oml.c M src/osmo-bts-sysmo/sysmobts_ctrl.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c M tests/meas/meas_test.c M tests/tx_power/tx_power_test.c 44 files changed, 178 insertions(+), 178 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/15788/1 diff --git a/README.md b/README.md index eaff165..965744f 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ as well as a [VTY Reference Manual](http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf) and a -[Abis refrence MAnual](http://ftp.osmocom.org/docs/latest/osmobts-abis.pdf) +[Abis reference MAnual](http://ftp.osmocom.org/docs/latest/osmobts-abis.pdf) describing the OsmoBTS specific A-bis dialect. Mailing List diff --git a/doc/control_interface.txt b/doc/control_interface.txt index 5ad9717..dd3dba2 100644 --- a/doc/control_interface.txt +++ b/doc/control_interface.txt @@ -4,7 +4,7 @@ h3. trx.0.thermal-attenuation -The idea of this paramter is to attenuate the system output power as part of +The idea of this parameter is to attenuate the system output power as part of thermal management. In some cases the PA might be passing a critical level, so an external control process can use this attribute to reduce the system output power. diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 86beaa2..4d7e430 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -346,7 +346,7 @@ In the classic data model established by ETSI/3GPP for A-bis, each timeslot (channel) is configured using a static channel combination by means of A-bis OML. Particularly in presence of GPRS services, this -is very unflexible and leads to inefficient use of air interface +is very inflexible and leads to inefficient use of air interface resources. As such, several methods have been implemented to overcome this diff --git a/doc/manuals/chapters/bts-models.adoc b/doc/manuals/chapters/bts-models.adoc index 31c5147..4b48d4b 100644 --- a/doc/manuals/chapters/bts-models.adoc +++ b/doc/manuals/chapters/bts-models.adoc @@ -443,7 +443,7 @@ as in the GSM network architecture provides almost all relevant configuration to the BTS from the BSC. -An example configuratin file is provided as part of the osmo-bts source +An example configuration file is provided as part of the osmo-bts source code: `doc/examples/virtual/osmobts-virtual.cfg` For more information see diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index 558bd4b..2b78620 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -14,7 +14,7 @@ === Command Line Options -Ths OsmoBTS executables (`osmo-bts-sysmo`, `osmo-bts-trx`, +The OsmoBTS executables (`osmo-bts-sysmo`, `osmo-bts-trx`, `osmo-bts-octphy`, `osmo-bts-litecell15`, ...) share the following generic command line options: diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 6b6b828..0dff16a 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -38,7 +38,7 @@ OsmoNITB, as can be seen in the following figures. [[fig-gsm-classic]] -.Classic GSM archtiecture using OsmoBTS with OsmoBTS components +.Classic GSM architecture using OsmoBTS with OsmoBTS components [graphviz] ---- digraph G { diff --git a/doc/manuals/rtp-amr.adoc b/doc/manuals/rtp-amr.adoc index 5a36aea..75f0e01 100644 --- a/doc/manuals/rtp-amr.adoc +++ b/doc/manuals/rtp-amr.adoc @@ -95,10 +95,10 @@ phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_FIRST)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -110,10 +110,10 @@ bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -123,7 +123,7 @@ the SID_FIRST frame is immediately followed by a speech frame. It has been observed that some phone does not transmit the last 4 bursts even if it is not followed by a speech frame. -ULSU2:: There must be exactly two supressed voice frames between the +ULSU2:: There must be exactly two suppressed voice frames between the SID_FIRST and the SID_UPDATE, i.e. there's 60ms between SID_FIRST and SID_UPDATE. @@ -152,52 +152,52 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -208,10 +208,10 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -254,10 +254,10 @@ ...; --- [label="Once voice is active again"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -345,10 +345,10 @@ ...; --- [label="FACCH/F Frame During DTX"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -368,10 +368,10 @@ phy => bts [label="PH-DATA.ind FACCH/F"]; bts => mgw [label="FACCH/F"]; - ms -x phy [label="Supressed L1 burst", id="ULSF2"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst", id="ULSF2"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_FIRST)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; ...; @@ -382,7 +382,7 @@ information bits are contained in sub-blocks 1-4 only Note:: It has been observed with some phones that the SID_FIRST is not sent following the FACCH/F -frame. If this case occures the No Data Frame and SID_UPDATE order resumes. +frame. If this case occurs the No Data Frame and SID_UPDATE order resumes. === TCH/AFS Downlink (Network to MS) @@ -660,10 +660,10 @@ phy => bts [label="PH-RTS.ind (TCH)"]; phy <= bts [label="PH-EMPTY-FRAME.req (FACCH/F)"]; phy <= bts [label="PH-EMPTY-FRAME.req (TCH/F)"]; - ms x- phy [label="Supressed burst"]; - ms x- phy [label="Supressed burst"]; - ms x- phy [label="Supressed burst"]; - ms x- phy [label="Supressed burst"]; + ms x- phy [label="Suppressed burst"]; + ms x- phy [label="Suppressed burst"]; + ms x- phy [label="Suppressed burst"]; + ms x- phy [label="Suppressed burst"]; } ---- @@ -738,8 +738,8 @@ phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (N)"]; bts => mgw [label="RTP (AMR FT=0..7,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr_SidFirstP1", id="ULSF1"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; @@ -753,8 +753,8 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -764,7 +764,7 @@ NOTE:: It has been observed that not all phones transmit SID_FIRST_P2 so the PH-DATA.ind GsmL1_TchPlType_Amr_SidFirstP2 is not guaranteed to be sent to the BTS. -ULSU1:: There must be exactly two supressed voice frames between the +ULSU1:: There must be exactly two suppressed voice frames between the SID_FIRST and the SID_UPDATE, i.e. there's 60ms between SID_FIRST and SID_UPDATE. @@ -795,33 +795,33 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -834,8 +834,8 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -999,8 +999,8 @@ ...; ms .. mgw [label="FACCH/H during DTX operation"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -1026,8 +1026,8 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr_SidFirstP1"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } diff --git a/doc/startup.txt b/doc/startup.txt index 50766e4..c60cc0a 100644 --- a/doc/startup.txt +++ b/doc/startup.txt @@ -22,7 +22,7 @@ | common | bts_controlif_setup() | Initialization of Control Interface | bts-specific | bts_model_ctrl_cmds_install() | common | telnet_init() | Initialization of telnet interface -| common | pcu_sock_init() | Initializaiton of PCU socket +| common | pcu_sock_init() | Initialization of PCU socket | common | main() | Installation of signal handlers | common | abis_open() | Start of the A-bis connection to BSC | common | phy_links_open() | Iterate over list of configured PHY links diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 5d8bc76..1445ed2 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -250,7 +250,7 @@ } si; struct { uint8_t flags; - /* RSL measurment result number, 0 at lchan_act */ + /* RSL measurement result number, 0 at lchan_act */ uint8_t res_nr; /* current Tx power level of the BTS */ uint8_t bts_tx_pwr; @@ -556,7 +556,7 @@ /* list header in net->bts_list */ struct llist_head list; - /* number of ths BTS in network */ + /* number of the BTS in network */ uint8_t nr; /* human readable name / description */ char *description; @@ -622,7 +622,7 @@ /* is SI3 GPRS Indicator currently disabled due to lack of PCU connection? */ bool si3_gprs_ind_disabled; - /* ip.accesss Unit ID's have Site/BTS/TRX layout */ + /* ip.access Unit ID's have Site/BTS/TRX layout */ union { struct { uint16_t site_id; @@ -765,7 +765,7 @@ struct bts_smscb_state smscb_extended; int smscb_queue_tgt_len; /* ideal/target queue length */ int smscb_queue_max_len; /* maximum queue length */ - int smscb_queue_hyst; /* hysteresis for CBCH laod indications */ + int smscb_queue_hyst; /* hysteresis for CBCH load indications */ int16_t min_qual_rach; /* minimum link quality (in centiBels) for Access Bursts */ int16_t min_qual_norm; /* minimum link quality (in centiBels) for Normal Bursts */ diff --git a/src/common/abis.c b/src/common/abis.c index 84a3a04..24eb8a1 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -173,7 +173,7 @@ } -/* callback for incoming mesages from A-bis/IP */ +/* callback for incoming messages from A-bis/IP */ static int sign_link_cb(struct msgb *msg) { struct e1inp_sign_link *link = msg->dst; @@ -212,7 +212,7 @@ return 0; } - /* we assume that the soket is AF_INET. As Abis/IP contains + /* we assume that the socket is AF_INET. As Abis/IP contains * lots of hard-coded IPv4 addresses, this safe */ OSMO_ASSERT(sin.sin_family == AF_INET); @@ -270,7 +270,7 @@ { struct e1inp_line *line; - /* patch in various data from VTY and othe sources */ + /* patch in various data from VTY and other sources */ line_ops.cfg.ipa.addr = dst_host; osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); bts_dev_info.site_id = bts->ip_access.site_id; diff --git a/src/common/bts.c b/src/common/bts.c index 73631ae..60e27cc 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -292,7 +292,7 @@ bts_model_trx_close(trx); } - /* shedule a timer to make sure select loop logic can run again + /* schedule a timer to make sure select loop logic can run again * to dispatch any pending primitives */ osmo_timer_schedule(&shutdown_timer, 3, 0); } @@ -591,7 +591,7 @@ return 0; /* GSM 08.58, 5.7 - * -> The BTS may combine serveral IMM.ASS.REJ messages + * -> The BTS may combine several IMM.ASS.REJ messages * -> Identical request refs in one message may be squeezed * * GSM 04.08, 9.1.20.2 @@ -669,7 +669,7 @@ /* * Remove lower prio messages if the queue has grown too long. * - * \return 0 iff the number of messages in the queue would fit into the AGCH + * \return 0 if the number of messages in the queue would fit into the AGCH * reserved part of the CCCH. */ static void compact_agch_queue(struct gsm_bts *bts) diff --git a/src/common/cbch.c b/src/common/cbch.c index 7ed11c2..ebea60b 100644 --- a/src/common/cbch.c +++ b/src/common/cbch.c @@ -38,7 +38,7 @@ uint8_t num_segs; /* total number of segments */ }; -/* determine if current queue length differes more than permitted hysteresis from target +/* determine if current queue length differs more than permitted hysteresis from target * queue length. If it does, send CBCH LOAD IND */ static void check_and_send_cbch_load(struct gsm_bts *bts, struct bts_smscb_state *bts_ss) { diff --git a/src/common/handover.c b/src/common/handover.c index 63a9832..b615932 100644 --- a/src/common/handover.c +++ b/src/common/handover.c @@ -135,7 +135,7 @@ osmo_timer_schedule(&lchan->ho.t3105, 0, bts->t3105_ms * 1000); } -/* received frist valid data frame on dedicated channel */ +/* received first valid data frame on dedicated channel */ void handover_frame(struct gsm_lchan *lchan) { LOGPLCHAN(lchan, DHO, LOGL_INFO, "First valid frame detected\n"); diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 7c54380..c68dc79 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -160,7 +160,7 @@ } /* allocate a msgb containing a osmo_phsap_prim + optional l2 data - * in order to wrap femtobts header arround l2 data, there must be enough space + * in order to wrap femtobts header around l2 data, there must be enough space * in front and behind data pointer */ struct msgb *l1sap_msgb_alloc(unsigned int l2_len) { @@ -664,7 +664,7 @@ return 0; } -/* any L1 MPH_INFO indication prim recevied from bts model */ +/* any L1 MPH_INFO indication prim received from bts model */ static int l1sap_mph_info_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct mph_info_param *info) { @@ -738,7 +738,7 @@ return 0; } -/* any L1 MPH_INFO confirm prim recevied from bts model */ +/* any L1 MPH_INFO confirm prim received from bts model */ static int l1sap_mph_info_cnf(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct mph_info_param *info) { @@ -798,7 +798,7 @@ int is_ccch_for_agch(struct gsm_bts_trx *trx, uint32_t fn) { /* Note: The number of available access grant channels is set by the * parameter BS_AG_BLKS_RES via system information type 3. This SI is - * transfered to osmo-bts via RSL */ + * transferred to osmo-bts via RSL */ return l1sap_fn2ccch_block(fn) < num_agch(trx, "PH-RTS-IND"); } @@ -1008,7 +1008,7 @@ return true; } -/* TCH-RTS-IND prim recevied from bts model */ +/* TCH-RTS-IND prim received from bts model */ static int l1sap_tch_rts_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct ph_tch_param *rts_ind) { diff --git a/src/common/load_indication.c b/src/common/load_indication.c index fa4745b..8d9b56f 100644 --- a/src/common/load_indication.c +++ b/src/common/load_indication.c @@ -52,7 +52,7 @@ uint16_t buffer_space = paging_buffer_space(bts->paging_state); rsl_tx_ccch_load_ind_pch(bts, buffer_space); } else { - /* This is an extenstion of TS 08.58. We don't only + /* This is an extension of TS 08.58. We don't only * send load indications if the load is above threshold, * but we also explicitly indicate that we are below * threshold by using the magic value 0xffff */ diff --git a/src/common/measurement.c b/src/common/measurement.c index c2001da..12fd779 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -340,7 +340,7 @@ } /* We expect the lower layers to mark AMR SID_UPDATE frames already as such. - * In this function, we only deal with the comon logic as per the TS 45.008 tables */ + * In this function, we only deal with the common logic as per the TS 45.008 tables */ if (!ulm->is_sub) ulm->is_sub = ts45008_83_is_sub(lchan, fn, false); @@ -698,7 +698,7 @@ lchan->meas.num_ul_meas = 0; - /* return 1 to indicte that the computation has been done and the next + /* return 1 to indicate that the computation has been done and the next * interval begins. */ return 1; } diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 51f72d8..9fc1d4d 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -909,7 +909,7 @@ return rc; } -/* accept connection comming from PCU */ +/* accept connection coming from PCU */ static int pcu_sock_accept(struct osmo_fd *bfd, unsigned int flags) { struct pcu_sock_state *state = (struct pcu_sock_state *)bfd->data; diff --git a/src/common/rsl.c b/src/common/rsl.c index c0d43d0..de51e6f 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -285,7 +285,7 @@ } /* - * common channel releated messages + * common channel related messages */ /* 8.5.1 BCCH INFOrmation is received */ @@ -571,7 +571,7 @@ * \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 * \param[in] current input data (L3 without L2/L1 header) - * \param[in] osmo_si Sytstem Infrormation Type (SYSINFO_TYPE_*) + * \param[in] osmo_si Sytstem Information Type (SYSINFO_TYPE_*) * \param[in] len length of \a current in octets */ static inline void lapdm_ui_prefix(uint8_t *buf, uint32_t *valid, const uint8_t *current, uint8_t osmo_si, uint16_t len) { @@ -593,7 +593,7 @@ /*! Prefix a given SACCH frame with a L2/LAPDm UI header and store it in given BTS SACCH buffer * \param[out] bts BTS in whose System Information State we shall store * \param[in] current input data (L3 without L2/L1 header) - * \param[in] osmo_si Sytstem Infrormation Type (SYSINFO_TYPE_*) + * \param[in] osmo_si Sytstem Information Type (SYSINFO_TYPE_*) * \param[in] len length of \a current in octets */ static inline void lapdm_ui_prefix_bts(struct gsm_bts *bts, const uint8_t *current, uint8_t osmo_si, uint16_t len) { @@ -603,7 +603,7 @@ /*! Prefix a given SACCH frame with a L2/LAPDm UI header and store it in given lchan SACCH buffer * \param[out] lchan Logical Channel in whose System Information State we shall store * \param[in] current input data (L3 without L2/L1 header) - * \param[in] osmo_si Sytstem Infrormation Type (SYSINFO_TYPE_*) + * \param[in] osmo_si Sytstem Information Type (SYSINFO_TYPE_*) * \param[in] len length of \a current in octets */ static inline void lapdm_ui_prefix_lchan(struct gsm_lchan *lchan, const uint8_t *current, uint8_t osmo_si, uint16_t len) { diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 19fec32..3adfc49 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -896,7 +896,7 @@ rc = l1sap_up(l1t->trx, l1sap); } - /* dont send, if TCH is in signalling only mode */ + /* don't send, if TCH is in signalling only mode */ if (l1ts->chan_state[chan].rsl_cmode != RSL_CMOD_SPD_SIGN) { /* generate prim */ msg = l1sap_msgb_alloc(200); @@ -1266,7 +1266,7 @@ * There are several TDMA frames between the last processed * frame and currently received one. Let's walk through this * path and count potentially lost frames, i.e. for which - * we didn't receive the corresponsing UL bursts. + * we didn't receive the corresponding UL bursts. * * Start counting from the last_fn + 1. */ diff --git a/src/osmo-bts-litecell15/calib_file.c b/src/osmo-bts-litecell15/calib_file.c index b7049df..2641552 100644 --- a/src/osmo-bts-litecell15/calib_file.c +++ b/src/osmo-bts-litecell15/calib_file.c @@ -317,7 +317,7 @@ fseek(st->fp, 0L, SEEK_END); sz = ftell(st->fp); - /* rewind read poiner */ + /* rewind read pointer */ fseek(st->fp, 0L, SEEK_SET); /* read file */ diff --git a/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c b/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c index 80751fb..424ff18 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c @@ -584,39 +584,39 @@ lc15bts_mgr_sensor_get_state(s_mgr->state.state), VTY_NEWLINE); vty_out(vty, "Current Temperatures%s", VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_SUPPLY, &temp); - vty_out(vty, " Main Supply : %4.2f Celcius%s", + vty_out(vty, " Main Supply : %4.2f Celsius%s", temp/ 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_SOC, &temp); - vty_out(vty, " SoC : %4.2f Celcius%s", + vty_out(vty, " SoC : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_FPGA, &temp); - vty_out(vty, " FPGA : %4.2f Celcius%s", + vty_out(vty, " FPGA : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_RMSDET, &temp); - vty_out(vty, " RMSDet : %4.2f Celcius%s", + vty_out(vty, " RMSDet : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_OCXO, &temp); - vty_out(vty, " OCXO : %4.2f Celcius%s", + vty_out(vty, " OCXO : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_TX0, &temp); - vty_out(vty, " TX 0 : %4.2f Celcius%s", + vty_out(vty, " TX 0 : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_TX1, &temp); - vty_out(vty, " TX 1 : %4.2f Celcius%s", + vty_out(vty, " TX 1 : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_PA0, &temp); - vty_out(vty, " Power Amp #0: %4.2f Celcius%s", + vty_out(vty, " Power Amp #0: %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_PA1, &temp); - vty_out(vty, " Power Amp #1: %4.2f Celcius%s", + vty_out(vty, " Power Amp #1: %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); diff --git a/src/osmo-bts-litecell15/misc/lc15bts_misc.c b/src/osmo-bts-litecell15/misc/lc15bts_misc.c index 2cedc5d..467b9d0 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_misc.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_misc.c @@ -363,7 +363,7 @@ case LC15BTS_FW_DSP1: fd = open(fw_sysfs[type], O_WRONLY); if (fd < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware device %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware device %s: %s\n", fw_sysfs[type], strerror(errno)); close(fd); return fd; diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index f084f1b..edc49ec 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -1724,7 +1724,7 @@ power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); } - /* FIXME: we actaully need to send a ACK or NACK for the OML message */ + /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c index 6d2d561..22122ab 100644 --- a/src/osmo-bts-oc2g/calib_file.c +++ b/src/osmo-bts-oc2g/calib_file.c @@ -307,7 +307,7 @@ fseek(st->fp, 0L, SEEK_END); sz = ftell(st->fp); - /* rewind read poiner */ + /* rewind read pointer */ fseek(st->fp, 0L, SEEK_SET); /* read file */ diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index d8be2d6..425fd0d 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1533,7 +1533,7 @@ return 0; } -/* FIXME: This delays the TRX initalization by 5 sec in order to avoid the +/* FIXME: This delays the TRX initialization by 5 sec in order to avoid the * occurrence of a race condition in the OML bringup. This a work around and * should be fixed properly. See also OS#3782, OS#2470 and OS#2469 */ void l1if_reset_cb(void *arg) diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c index 7e80e03..9693eab 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c @@ -512,35 +512,35 @@ oc2gbts_mgr_sensor_get_state(s_mgr->state.state), VTY_NEWLINE); vty_out(vty, "Current Temperatures%s", VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_SUPPLY, &temp); - vty_out(vty, " Main Supply : %4.2f Celcius%s", + vty_out(vty, " Main Supply : %4.2f Celsius%s", temp/ 1000.0f, VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_SOC, &temp); - vty_out(vty, " SoC : %4.2f Celcius%s", + vty_out(vty, " SoC : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_FPGA, &temp); - vty_out(vty, " FPGA : %4.2f Celcius%s", + vty_out(vty, " FPGA : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); if (oc2gbts_option_get(OC2GBTS_OPTION_RMS_FWD) || oc2gbts_option_get(OC2GBTS_OPTION_RMS_REFL)) { oc2gbts_temp_get(OC2GBTS_TEMP_RMSDET, &temp); - vty_out(vty, " RMSDet : %4.2f Celcius%s", + vty_out(vty, " RMSDet : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); } oc2gbts_temp_get(OC2GBTS_TEMP_OCXO, &temp); - vty_out(vty, " OCXO : %4.2f Celcius%s", + vty_out(vty, " OCXO : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_TX, &temp); - vty_out(vty, " TX : %4.2f Celcius%s", + vty_out(vty, " TX : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA_TEMP)) { oc2gbts_temp_get(OC2GBTS_TEMP_PA, &temp); - vty_out(vty, " Power Amp : %4.2f Celcius%s", + vty_out(vty, " Power Amp : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); } diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_misc.c b/src/osmo-bts-oc2g/misc/oc2gbts_misc.c index bacf07b..0d31f0b 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_misc.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_misc.c @@ -361,7 +361,7 @@ case OC2GBTS_FW_DSP: fd = open(fw_sysfs[type], O_WRONLY); if (fd < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware device %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware device %s: %s\n", fw_sysfs[type], strerror(errno)); close(fd); return fd; diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 3202409..567dd52 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -1869,7 +1869,7 @@ } - /* FIXME: we actaully need to send a ACK or NACK for the OML message */ + /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index bf2fa35..8f06b34 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -998,7 +998,7 @@ set_log_ctx_sapi(evt->LchId.bySAPI); - /* Retrive the data */ + /* Retrieve the data */ fn = evt->ulFrameNumber; ts_num = (uint8_t) evt->LchId.byTimeslotNb; sc = (uint8_t) evt->LchId.bySubChannelNb; @@ -1194,7 +1194,7 @@ /* burst timing in 1x but PCU is expecting 4X */ l1sap->u.data.ta_offs_256bits = data_ind->MeasurementInfo.sBurstTiming4x*64; snr = data_ind->MeasurementInfo.sSNRDb; - /* FIXME: better converion formulae for SnR -> C / I? + /* FIXME: better conversion formulae for SnR -> C / I? l1sap->u.data.lqual_cb = (snr ? snr : (snr - 65536)) * 10 / 256; LOGP(DL1C, LOGL_ERROR, "SnR: raw %d, computed %d\n", snr, l1sap->u.data.lqual_cb); */ @@ -1681,7 +1681,7 @@ } /* we first need to decode the common OCTPKT header and dispatch - * based on contrl (command/resp) or data (event=indication) */ + * based on control (command/resp) or data (event=indication) */ switch (format) { case cOCTVOCNET_PKT_FORMAT_CTRL: ctlh = (tOCTVOCNET_PKT_CTL_HEADER *) (msg->l1h + 4); diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index d44f721..9c5dd19 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -506,7 +506,7 @@ * sub-channel, only th request contains this information :( */ lchan = &ts->lchan[(unsigned long) data]; - /* TODO: This state machine should be shared accross BTS models? */ + /* TODO: This state machine should be shared across BTS models? */ switch (lchan->ciph_state) { case LCHAN_CIPH_RX_REQ: lchan->ciph_state = LCHAN_CIPH_RX_CONF; @@ -1191,7 +1191,7 @@ if (!no_fw_check) { LOGP(DL1C, LOGL_ERROR, - "use option -I to override the check (not recommened)\n"); + "use option -I to override the check (not recommended)\n"); LOGP(DL1C, LOGL_ERROR, "exiting...\n"); exit(1); @@ -1346,7 +1346,7 @@ if (plink->u.octphy.tx_atten_flag) { oc->RfConfig.ulTxAttndB = plink->u.octphy.tx_atten_db; } else { - /* Take the Tx Attn received in set radio attribures + /* Take the Tx Attn received in set radio attributes * x4 is for the value in db */ oc->RfConfig.ulTxAttndB = (trx->max_power_red) << 2; } diff --git a/src/osmo-bts-octphy/octphy_vty.c b/src/osmo-bts-octphy/octphy_vty.c index d250a95..afc2ce7 100644 --- a/src/osmo-bts-octphy/octphy_vty.c +++ b/src/osmo-bts-octphy/octphy_vty.c @@ -60,7 +60,7 @@ DEFUN(cfg_phy_hwaddr, cfg_phy_hwaddr_cmd, "octphy hw-addr HWADDR", - OCT_STR "Configure the hardware addess of the OCTPHY\n" + OCT_STR "Configure the hardware address of the OCTPHY\n" "hardware address in aa:bb:cc:dd:ee:ff format\n") { struct phy_link *plink = vty->index; diff --git a/src/osmo-bts-octphy/octpkt.c b/src/osmo-bts-octphy/octpkt.c index d96d93d..c6aea1f 100644 --- a/src/osmo-bts-octphy/octpkt.c +++ b/src/osmo-bts-octphy/octpkt.c @@ -101,7 +101,7 @@ #include /*! \brief Initialize a packet socket - * \param[in] tye Socket type like SOCK_RAW or SOCK_DGRAM + * \param[in] type Socket type like SOCK_RAW or SOCK_DGRAM * \param[in] proto The link-layer protocol in network byte order * \param[in] bind_dev The name of the interface to bind to (if any) * \param[in] flags flags like \ref OSMO_SOCK_F_BIND diff --git a/src/osmo-bts-sysmo/eeprom.c b/src/osmo-bts-sysmo/eeprom.c index 472b78e..6c887d4 100644 --- a/src/osmo-bts-sysmo/eeprom.c +++ b/src/osmo-bts-sysmo/eeprom.c @@ -226,12 +226,12 @@ char szSn[16]; ///< Serial number uint32_t u8Rev : 8; ///< Board revision - uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknows) - uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknows) - uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknows) + uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknown) + uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknown) + uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknown) uint32_t : 12; ///< unused } __attribute__((packed)) sysInfo; @@ -307,12 +307,12 @@ uint32_t u32Time; ///< Epoch time char szSn[16]; ///< Serial number uint32_t u8Rev : 8; ///< Board revision - uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknows) - uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknows) - uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknows) + uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknown) + uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknown) + uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknown) uint32_t : 12; ///< unused } __attribute__((packed)) sysInfo; diff --git a/src/osmo-bts-sysmo/misc/sysmobts-layer1.c b/src/osmo-bts-sysmo/misc/sysmobts-layer1.c index 4b34f50..20ca6f5 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts-layer1.c +++ b/src/osmo-bts-sysmo/misc/sysmobts-layer1.c @@ -622,7 +622,7 @@ return -1; } if (prim.u.rfClockSetupCnf.status != GsmL1_Status_Success) { - printf("Clock setup was not successfull.\n"); + printf("Clock setup was not successful.\n"); return -2; } diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c index a8289c2..50c9c22 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c @@ -312,7 +312,7 @@ LOGP(DLCTRL, LOGL_ERROR, "Can't connect to CTRL @ localhost:%u\n", OSMO_CTRL_PORT_BTS); else - LOGP(DLCTRL, LOGL_NOTICE, "CTRL connected to locahost:%u\n", + LOGP(DLCTRL, LOGL_NOTICE, "CTRL connected to localhost:%u\n", OSMO_CTRL_PORT_BTS); sysmobts_mgr_temp_init(&manager, ccon); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c index 444ee7c..fb3987b 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c @@ -380,11 +380,11 @@ vty_out(vty, "Temperature control state: %s%s", sysmobts_mgr_temp_get_state(s_mgr->state), VTY_NEWLINE); vty_out(vty, "Current Temperatures%s", VTY_NEWLINE); - vty_out(vty, " Digital: %f Celcius%s", + vty_out(vty, " Digital: %f Celsius%s", sysmobts_temp_get(SYSMOBTS_TEMP_DIGITAL, SYSMOBTS_TEMP_INPUT) / 1000.0f, VTY_NEWLINE); - vty_out(vty, " RF: %f Celcius%s", + vty_out(vty, " RF: %f Celsius%s", sysmobts_temp_get(SYSMOBTS_TEMP_RF, SYSMOBTS_TEMP_INPUT) / 1000.0f, VTY_NEWLINE); @@ -396,8 +396,8 @@ is_sbts2050_master() ? "master" : "slave", VTY_NEWLINE); sbts2050_uc_check_temp(&temp_pa, &temp_board); - vty_out(vty, " sysmoBTS 2050 PA: %d Celcius%s", temp_pa, VTY_NEWLINE); - vty_out(vty, " sysmoBTS 2050 PA: %d Celcius%s", temp_board, VTY_NEWLINE); + vty_out(vty, " sysmoBTS 2050 PA: %d Celsius%s", temp_pa, VTY_NEWLINE); + vty_out(vty, " sysmoBTS 2050 PA: %d Celsius%s", temp_board, VTY_NEWLINE); sbts2050_uc_get_status(&status); vty_out(vty, "Power Status%s", VTY_NEWLINE); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_misc.c b/src/osmo-bts-sysmo/misc/sysmobts_misc.c index d996d64..8c93979 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_misc.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_misc.c @@ -234,14 +234,14 @@ fd_in = open(name, O_RDONLY); if (fd_in < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware file %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware file %s: %s\n", name, strerror(errno)); return fd_in; } fd_out = open(fw_devs[type], O_WRONLY); if (fd_out < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware device %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware device %s: %s\n", fw_devs[type], strerror(errno)); close(fd_in); return fd_out; diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index ea7527d..3533597 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -1746,7 +1746,7 @@ power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); } - /* FIXME: we actaully need to send a ACK or NACK for the OML message */ + /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } diff --git a/src/osmo-bts-sysmo/sysmobts_ctrl.c b/src/osmo-bts-sysmo/sysmobts_ctrl.c index 21df88e..c6dac58 100644 --- a/src/osmo-bts-sysmo/sysmobts_ctrl.c +++ b/src/osmo-bts-sysmo/sysmobts_ctrl.c @@ -94,7 +94,7 @@ SuperFemto_Prim_t *sysp = msgb_sysprim(msg); struct ctrl_cmd_def *cd; - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); sysp->id = SuperFemto_PrimId_RfClockInfoReq; @@ -136,7 +136,7 @@ SuperFemto_Prim_t *sysp = msgb_sysprim(msg); struct ctrl_cmd_def *cd; - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); /* Set GPS/PPS as reference */ @@ -197,7 +197,7 @@ * prefer to to ask the actual L1 about the currently used value to * avoid any mistakes */ - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); sysp->id = SuperFemto_PrimId_RfClockInfoReq; @@ -241,7 +241,7 @@ fl1h->clk_cal = atoi(cmd->value); - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); sysp->id = SuperFemto_PrimId_RfClockSetupReq; diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 1b8ea45..920f441 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -195,7 +195,7 @@ /*! Send a new TRX control command. * \param[inout] l1h TRX Layer1 handle to which to send command - * \param[in] criticial + * \param[in] critical * \param[in] cb callback function to be called when valid response is * received. Type of cb depends on type of message. * \param[in] cmd zero-terminated string containing command @@ -1166,7 +1166,7 @@ return plink->u.osmotrx.base_port_local + (pinst->num << 1) + inc; } -/*! open a TRX interface. creates contro + data sockets */ +/*! open a TRX interface. creates control + data sockets */ static int trx_if_open(struct trx_l1h *l1h) { struct phy_instance *pinst = l1h->phy_inst; diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index acd8ea2..58f4781 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -208,7 +208,7 @@ llist_for_each_entry(pinst, &plink->instances, list) { trx_sched_init(&pinst->u.virt.sched, pinst->trx); /* Only start the scheduler for the transceiver on C0. - * If we have multiple tranceivers, CCCH is always on C0 + * If we have multiple transceivers, CCCH is always on C0 * and has to be auto active */ /* Other TRX are activated via OML by a PRIM_INFO_MODIFY * / PRIM_INFO_ACTIVATE */ diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 83c37f3..0621eaa 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -1,4 +1,4 @@ -/* Scheduler worker functiosn for Virtua OsmoBTS */ +/* Scheduler worker functions for Virtua OsmoBTS */ /* (C) 2015-2017 by Harald Welte * (C) 2017 Sebastian Stumpf @@ -64,7 +64,7 @@ { const struct trx_chan_desc *chdesc = &trx_chan_desc[chan]; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ - uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the tranceiver the message is send with */ + uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the transceiver the message is send with */ uint8_t signal_dbm = 63; /* signal strength, 63 is best */ uint8_t snr = 63; /* signal noise ratio, 63 is best */ uint8_t *data = msgb_l2(msg); /* data to transmit (whole message without l1 header) */ diff --git a/tests/meas/meas_test.c b/tests/meas/meas_test.c index b2bf80e..c8f06b6 100644 --- a/tests/meas/meas_test.c +++ b/tests/meas/meas_test.c @@ -306,7 +306,7 @@ * received. The process must still go on when measurement indications (blocks) * are lost or otherwise spaced out. Even the complete absence of the * measurement indications from the SACCH which are used to detect the interval - * end must not keep the interval from beeing processed. */ + * end must not keep the interval from being processed. */ void test_lchan_meas_process_measurement(bool no_sacch, bool dropouts) { struct gsm_lchan *lchan = &trx->ts[2].lchan[0]; diff --git a/tests/tx_power/tx_power_test.c b/tests/tx_power/tx_power_test.c index ad3f68c..34fbeb7 100644 --- a/tests/tx_power/tx_power_test.c +++ b/tests/tx_power/tx_power_test.c @@ -238,7 +238,7 @@ /* test error case / excess power (40 dBm is too much) */ test_power_ramp(trx, 40); - /* test actaul ramping to full 33 dBm */ + /* test actual ramping to full 33 dBm */ test_power_ramp(trx, 33); while (1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I403b9029f57fec3fdec2c1e2cbeac0f6eab53f24 Gerrit-Change-Number: 15788 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Oct 13 17:11:25 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 13 Oct 2019 17:11:25 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 --- M src/host/layer23/README M src/host/layer23/include/osmocom/bb/common/sysinfo.h M src/host/layer23/include/osmocom/bb/mobile/gsm322.h M src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h M src/host/layer23/include/osmocom/bb/mobile/mncc.h M src/host/layer23/src/common/main.c M src/host/layer23/src/common/sap_proto.c M src/host/layer23/src/common/sim.c M src/host/layer23/src/common/sysinfo.c M src/host/layer23/src/misc/app_bcch_scan.c M src/host/layer23/src/misc/app_cbch_sniff.c M src/host/layer23/src/misc/app_ccch_scan.c M src/host/layer23/src/misc/cell_log.c M src/host/layer23/src/mobile/app_mobile.c M src/host/layer23/src/mobile/gsm322.c M src/host/layer23/src/mobile/gsm411_sms.c M src/host/layer23/src/mobile/gsm480_ss.c M src/host/layer23/src/mobile/gsm48_cc.c M src/host/layer23/src/mobile/gsm48_mm.c M src/host/layer23/src/mobile/gsm48_rr.c M src/host/layer23/src/mobile/main.c M src/host/layer23/src/mobile/mncc_sock.c M src/host/layer23/src/mobile/mnccms.c M src/host/layer23/src/mobile/script_lua.c M src/host/layer23/src/mobile/vty_interface.c M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/logging.c M src/host/virt_phy/src/virt_prim_pm.c M src/shared/libosmocore/doc/vty/example.xml M src/shared/libosmocore/include/osmocom/core/bits.h M src/shared/libosmocore/include/osmocom/core/bitvec.h M src/shared/libosmocore/include/osmocom/core/conv.h M src/shared/libosmocore/include/osmocom/core/logging.h M src/shared/libosmocore/include/osmocom/core/select.h M src/shared/libosmocore/include/osmocom/core/write_queue.h M src/shared/libosmocore/include/osmocom/crypt/auth.h M src/shared/libosmocore/include/osmocom/crypt/gprs_cipher.h M src/shared/libosmocore/include/osmocom/vty/command.h M src/shared/libosmocore/include/osmocom/vty/vector.h M src/shared/libosmocore/include/osmocom/vty/vty.h M src/shared/libosmocore/src/backtrace.c M src/shared/libosmocore/src/gb/gprs_bssgp.c M src/shared/libosmocore/src/gb/gprs_ns.c M src/shared/libosmocore/src/gb/gprs_ns_frgre.c M src/shared/libosmocore/src/gsm/auth_core.c M src/shared/libosmocore/src/gsm/gsm0411_smc.c M src/shared/libosmocore/src/gsm/gsm0411_smr.c M src/shared/libosmocore/src/gsm/gsm0808.c M src/shared/libosmocore/src/gsm/gsm48.c M src/shared/libosmocore/src/gsm/gsm48_ie.c M src/shared/libosmocore/src/gsm/lapd_core.c M src/shared/libosmocore/src/gsm/lapdm.c M src/shared/libosmocore/src/gsm/rsl.c M src/shared/libosmocore/src/gsm/tlv_parser.c M src/shared/libosmocore/src/logging.c M src/shared/libosmocore/src/msgb.c M src/shared/libosmocore/src/socket.c M src/shared/libosmocore/src/talloc.c M src/shared/libosmocore/src/timer.c M src/shared/libosmocore/src/utils.c M src/shared/libosmocore/src/vty/buffer.c M src/shared/libosmocore/src/vty/command.c M src/shared/libosmocore/src/vty/logging_vty.c M src/shared/libosmocore/src/vty/vty.c M src/target/firmware/apps/rssi/main.c M src/target/firmware/board/compal/highram.lds M src/target/firmware/board/compal/ram.lds M src/target/firmware/board/mediatek/ram.lds M src/target/firmware/calypso/sim.c M src/target/firmware/comm/sercomm.c M src/target/firmware/fb/fb_rgb332.c M src/target/firmware/fb/fb_s6b33b1x.c M src/target/firmware/include/abb/twl3025.h M src/target/firmware/include/calypso/dsp_api.h M src/target/firmware/include/calypso/l1_environment.h M src/target/firmware/include/calypso/sim.h M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/layer1/sync.h M src/target/firmware/layer1/l23_api.c M src/target/firmware/layer1/prim_fbsb.c M src/target/firmware/layer1/prim_tch.c M src/target/firmware/layer1/sync.c M src/target/firmware/lib/vsprintf.c M src/target/firmware/rf/trf6151.c M src/target/trx_toolkit/data_dump.py M src/target_dsp/calypso/dump2coff.py 88 files changed, 201 insertions(+), 201 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/89/15789/1 diff --git a/src/host/layer23/README b/src/host/layer23/README index dd59823..c52e7bc 100644 --- a/src/host/layer23/README +++ b/src/host/layer23/README @@ -30,7 +30,7 @@ RSL header (struct abis_rsl_common_hdr). There are utility functions like rslms_tx_rll_req() and rslms_tx_rsll_req_l3() -for creating msgb's with the apropriate RSL/RLL headers. +for creating msgb's with the appropriate RSL/RLL headers. === LAPDm === diff --git a/src/host/layer23/include/osmocom/bb/common/sysinfo.h b/src/host/layer23/include/osmocom/bb/common/sysinfo.h index f843f27..7fea2da 100644 --- a/src/host/layer23/include/osmocom/bb/common/sysinfo.h +++ b/src/host/layer23/include/osmocom/bb/common/sysinfo.h @@ -17,7 +17,7 @@ #define FREQ_TYPE_REP_5bis 0x40 /* sub channel of SI 5bis */ #define FREQ_TYPE_REP_5ter 0x80 /* sub channel of SI 5ter */ -/* structure of all received system informations */ +/* structure of all received system information */ struct gsm48_sysinfo { /* flags of available information */ uint8_t si1, si2, si2bis, si2ter, si3, diff --git a/src/host/layer23/include/osmocom/bb/mobile/gsm322.h b/src/host/layer23/include/osmocom/bb/mobile/gsm322.h index d4caac9..b332778 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/gsm322.h +++ b/src/host/layer23/include/osmocom/bb/mobile/gsm322.h @@ -6,7 +6,7 @@ #include #include -/* 4.3.1.1 List of states for PLMN slection process (automatic mode) */ +/* 4.3.1.1 List of states for PLMN selection process (automatic mode) */ #define GSM322_A0_NULL 0 #define GSM322_A1_TRYING_RPLMN 1 #define GSM322_A2_ON_PLMN 2 @@ -15,7 +15,7 @@ #define GSM322_A5_HPLMN_SEARCH 5 #define GSM322_A6_NO_SIM 6 -/* 4.3.1.2 List of states for PLMN slection process (manual mode) */ +/* 4.3.1.2 List of states for PLMN selection process (manual mode) */ #define GSM322_M0_NULL 0 #define GSM322_M1_TRYING_RPLMN 1 #define GSM322_M2_ON_PLMN 2 @@ -129,9 +129,9 @@ /* state of CCCH activation */ #define GSM322_CCCH_ST_IDLE 0 /* no connection */ -#define GSM322_CCCH_ST_INIT 1 /* initalized */ +#define GSM322_CCCH_ST_INIT 1 /* initialized */ #define GSM322_CCCH_ST_SYNC 2 /* got sync */ -#define GSM322_CCCH_ST_DATA 3 /* receiveing data */ +#define GSM322_CCCH_ST_DATA 3 /* receiving data */ /* neighbour cell info list entry */ struct gsm322_neighbour { @@ -144,7 +144,7 @@ time_t when; /* when did we sync / read */ int16_t rxlev_sum_dbm; /* sum of received levels */ uint8_t rxlev_count; /* number of received levels */ - int8_t rla_c_dbm; /* average of the reveive level */ + int8_t rla_c_dbm; /* average of the receive level */ uint8_t c12_valid; /* both C1 and C2 are calculated */ int16_t c1, c2, crh; uint8_t checked_for_resel; diff --git a/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h b/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h index 6e9c197..93e7c4c 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h +++ b/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h @@ -204,7 +204,7 @@ struct llist_head list; struct gsm48_mmlayer *mm; - /* ref and type form a unique tupple */ + /* ref and type form a unique tuple */ uint32_t ref; /* reference to trans */ uint8_t protocol; uint8_t transaction_id; diff --git a/src/host/layer23/include/osmocom/bb/mobile/mncc.h b/src/host/layer23/include/osmocom/bb/mobile/mncc.h index 8ec9358..5e976cc 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/mncc.h +++ b/src/host/layer23/include/osmocom/bb/mobile/mncc.h @@ -58,7 +58,7 @@ #define MNCC_SETUP_CNF 0x0104 #define MNCC_SETUP_COMPL_REQ 0x0105 #define MNCC_SETUP_COMPL_IND 0x0106 -/* MNCC_REJ_* is perfomed via MNCC_REL_* */ +/* MNCC_REJ_* is performed via MNCC_REL_* */ #define MNCC_CALL_CONF_IND 0x0107 #define MNCC_CALL_PROC_REQ 0x0108 #define MNCC_PROGRESS_REQ 0x0109 @@ -136,7 +136,7 @@ /* which fields are present */ uint32_t fields; - /* data derived informations (MNCC_F_ based) */ + /* data derived information (MNCC_F_ based) */ struct gsm_mncc_bearer_cap bearer_cap; struct gsm_mncc_number called; struct gsm_mncc_number calling; diff --git a/src/host/layer23/src/common/main.c b/src/host/layer23/src/common/main.c index 8abd3f7..9d1c69e 100644 --- a/src/host/layer23/src/common/main.c +++ b/src/host/layer23/src/common/main.c @@ -208,7 +208,7 @@ if (sigset == SIGHUP || sigset == SIGPIPE) return; - fprintf(stderr, "Signal %d recevied.\n", sigset); + fprintf(stderr, "Signal %d received.\n", sigset); if (l23_app_exit) rc = l23_app_exit(ms); diff --git a/src/host/layer23/src/common/sap_proto.c b/src/host/layer23/src/common/sap_proto.c index c3d202f..ecacfe0 100644 --- a/src/host/layer23/src/common/sap_proto.c +++ b/src/host/layer23/src/common/sap_proto.c @@ -177,7 +177,7 @@ * \param[in] sap_msg pointer to SAP message header * \param[in] param_type parameter type (see sap_param_type enum) * \param[out] param_len parameter length (if found) - * \returns pointer to a given parameter withing the message, NULL otherwise + * \returns pointer to a given parameter within the message, NULL otherwise */ struct sap_param *sap_get_param(const struct sap_message *sap_msg, enum sap_param_type param_type, uint16_t *param_len) diff --git a/src/host/layer23/src/common/sim.c b/src/host/layer23/src/common/sim.c index ed7f54a..1e2bc51 100644 --- a/src/host/layer23/src/common/sim.c +++ b/src/host/layer23/src/common/sim.c @@ -1132,7 +1132,7 @@ case SIM_JOB_INCREASE: if (length != 4) { LOGP(DSIM, LOGL_ERROR, "expecting uint32_t as " - "value lenght, but got %d bytes\n", + "value length, but got %d bytes\n", length); goto request_error; } diff --git a/src/host/layer23/src/common/sysinfo.c b/src/host/layer23/src/common/sysinfo.c index b42bd65..f927773 100644 --- a/src/host/layer23/src/common/sysinfo.c +++ b/src/host/layer23/src/common/sysinfo.c @@ -78,7 +78,7 @@ print(priv, "ARFCN = %s channels 512+ refer to %s\n", gsm_print_arfcn(arfcn), (refer_pcs) ? "PCS (1900)" : "DCS (1800)"); - print(priv, "Available SYSTEM INFORMATIONS ="); + print(priv, "Available SYSTEM INFORMATION ="); if (s->si1) print(priv, " 1"); if (s->si2) diff --git a/src/host/layer23/src/misc/app_bcch_scan.c b/src/host/layer23/src/misc/app_bcch_scan.c index 22e6f1b..5818530 100644 --- a/src/host/layer23/src/misc/app_bcch_scan.c +++ b/src/host/layer23/src/misc/app_bcch_scan.c @@ -53,7 +53,7 @@ int l23_app_init(struct osmocom_ms *ms) { - /* don't do layer3_init() as we don't want an actualy L3 */ + /* don't do layer3_init() as we don't want an actually L3 */ fps_init(); l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL); return osmo_signal_register_handler(SS_L1CTL, &signal_cb, NULL); diff --git a/src/host/layer23/src/misc/app_cbch_sniff.c b/src/host/layer23/src/misc/app_cbch_sniff.c index 8256eaf..ac222f7 100644 --- a/src/host/layer23/src/misc/app_cbch_sniff.c +++ b/src/host/layer23/src/misc/app_cbch_sniff.c @@ -179,7 +179,7 @@ int l23_app_init(struct osmocom_ms *ms) { - /* don't do layer3_init() as we don't want an actualy L3 */ + /* don't do layer3_init() as we don't want an actually L3 */ g_ms = ms; lapdm_channel_set_l3(&ms->lapdm_channel, &rcv_rsl, ms); diff --git a/src/host/layer23/src/misc/app_ccch_scan.c b/src/host/layer23/src/misc/app_ccch_scan.c index 88a2bef..be2d9ae 100644 --- a/src/host/layer23/src/misc/app_ccch_scan.c +++ b/src/host/layer23/src/misc/app_ccch_scan.c @@ -166,7 +166,7 @@ struct gsm48_imm_ass *ia = msgb_l3(msg); uint8_t ch_type, ch_subch, ch_ts; - /* Discard packet TBF assignement */ + /* Discard packet TBF assignment */ if (ia->page_mode & 0xf0) return 0; diff --git a/src/host/layer23/src/misc/cell_log.c b/src/host/layer23/src/misc/cell_log.c index 7340dcb..9edd742 100644 --- a/src/host/layer23/src/misc/cell_log.c +++ b/src/host/layer23/src/misc/cell_log.c @@ -438,7 +438,7 @@ return 0; } -/* match request reference agains request */ +/* match request reference against request */ static int match_ra(struct osmocom_ms *ms, struct gsm48_req_ref *ref) { uint8_t ia_t1, ia_t2, ia_t3; diff --git a/src/host/layer23/src/mobile/app_mobile.c b/src/host/layer23/src/mobile/app_mobile.c index f0f118b..a5feb79 100644 --- a/src/host/layer23/src/mobile/app_mobile.c +++ b/src/host/layer23/src/mobile/app_mobile.c @@ -100,7 +100,7 @@ /* waiting for reset after shutdown */ if (ms->shutdown == MS_SHUTDOWN_WAIT_RESET) { - LOGP(DMOB, LOGL_NOTICE, "MS '%s' has been resetted\n", ms->name); + LOGP(DMOB, LOGL_NOTICE, "MS '%s' has been reset\n", ms->name); ms->shutdown = MS_SHUTDOWN_COMPL; break; } diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c index 56dd236..ddb3a77 100644 --- a/src/host/layer23/src/mobile/gsm322.c +++ b/src/host/layer23/src/mobile/gsm322.c @@ -156,7 +156,7 @@ * * * subscr->plmn_list * - * The "PLMN Selector list" stores prefered networks to select during PLMN + * The "PLMN Selector list" stores preferred networks to select during PLMN * search process. This list is also stored in the SIM. * * * subscr->plmn_na @@ -172,7 +172,7 @@ * * * cs->list[1024+299] * - * This list stores measurements and cell informations during cell selection + * This list stores measurements and cell information during cell selection * process. It can be used to speed up repeated cell selection. * * * cs->ba_list @@ -201,7 +201,7 @@ * the BCCH data after 5 minutes. This timer is also used if sync or read * fails. * - * The C1 and C2 criterion is calculated for the currently monitored neigbour + * The C1 and C2 criterion is calculated for the currently monitored neighbour * cells. During this process, a better neighbour cell will trigger cell * re-selection. * @@ -427,14 +427,14 @@ return c2; } - /* penatly time reached */ + /* penalty time reached */ if (t >= (penalty_time + 1) * 20) { LOGP(DNB, LOGL_INFO, "C2 = C1 + CELL_RESELECT_OFFSET (%d) = %d " "(PENALTY_TIME reached)\n", cell_resel_off, c2); return c2; } - /* penalty time not reached, substract temporary offset */ + /* penalty time not reached, subtract temporary offset */ if (temp_offset < 7) c2 -= temp_offset * 10; else @@ -975,7 +975,7 @@ entries--; } - /* move ohter PLMN in decreasing order */ + /* move other PLMN in decreasing order */ while(1) { found = NULL; llist_for_each_entry(temp, &temp_list, entry) { @@ -1047,7 +1047,7 @@ new_a_state(plmn, GSM322_A4_WAIT_FOR_PLMN); - /* we must forward this, otherwhise "Any cell selection" + /* we must forward this, otherwise "Any cell selection" * will not start automatically. */ nmsg = gsm322_msgb_alloc(GSM322_EVENT_NEW_PLMN); @@ -1074,7 +1074,7 @@ /* if no PLMN in list: * this means that we are at a point where we camp on any cell or - * no cell ist available. */ + * no cell is available. */ if (found < 0) { if (subscr->plmn_valid) { LOGP(DPLMN, LOGL_INFO, "Not any PLMN allowable. " @@ -1555,7 +1555,7 @@ /* go Not on PLMN state */ new_m_state(plmn, GSM322_M3_NOT_ON_PLMN); - /* we must forward this, otherwhise "Any cell selection" + /* we must forward this, otherwise "Any cell selection" * will not start automatically. * this way we get back to the last PLMN, in case we gained * our coverage back. @@ -1847,7 +1847,7 @@ if (cs->state == GSM322_C2_STORED_CELL_SEL || cs->state == GSM322_C5_CHOOSE_CELL) mask |= GSM322_CS_FLAG_BA; - flags = mask; /* all masked flags are requied */ + flags = mask; /* all masked flags are required */ /* loop through all scanned frequencies and select cell. * if an index is given (arfci), we just check this cell only */ @@ -1860,12 +1860,12 @@ cs->list[i].flags &= ~GSM322_CS_FLAG_TEMP_AA; s = cs->list[i].sysinfo; - /* channel has no informations for us */ + /* channel has no information for us */ if (!s || (cs->list[i].flags & mask) != flags) { continue; } - /* check C1 criteria not fullfilled */ + /* check C1 criteria not fulfilled */ // TODO: class 3 DCS mobile gsm_arfcn2band_rc(index2arfcn(i), &band); class = class_of_band(ms, band); @@ -2195,7 +2195,7 @@ if (cs->state == GSM322_C2_STORED_CELL_SEL || cs->state == GSM322_C5_CHOOSE_CELL) mask |= GSM322_CS_FLAG_BA; - flags = mask; /* all masked flags are requied */ + flags = mask; /* all masked flags are required */ for (i = 0; i <= 1023+299; i++) { j = 0; /* make gcc happy */ if (!ms->settings.skip_max_per_band) { @@ -2249,7 +2249,7 @@ } /* NOTE: We might already have system information from previous - * scan. But we need recent informations, so we scan again! + * scan. But we need recent information, so we scan again! */ /* Tune to frequency for a while, to receive broadcasts. */ @@ -2462,7 +2462,7 @@ return 0; } -/* process system information when returing to idle mode */ +/* process system information when returning to idle mode */ struct gsm322_ba_list *gsm322_cs_sysinfo_sacch(struct osmocom_ms *ms) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -2517,7 +2517,7 @@ return ba; } -/* store BA whenever a system informations changes */ +/* store BA whenever a system information changes */ static int gsm322_store_ba_list(struct gsm322_cellsel *cs, struct gsm48_sysinfo *s) { @@ -2582,9 +2582,9 @@ return 0; } - /* Store BA if we have full system info about cells and neigbor cells. + /* Store BA if we have full system info about cells and neighbor cells. * Depending on the extended bit in the channel description, - * we require more or less system informations about neighbor cells + * we require more or less system information about neighbor cells */ if (s->mcc && s->mnc @@ -2600,7 +2600,7 @@ && s->nb_ext_ind_si2bis))) gsm322_store_ba_list(cs, s); - /* update sel_si, if all relevant system informations received */ + /* update sel_si, if all relevant system information received */ if (s->si1 && s->si2 && s->si3 && (!s->nb_ext_ind_si2 || (s->si2bis && s->nb_ext_ind_si2 && !s->nb_ext_ind_si2bis) @@ -2696,9 +2696,9 @@ return -EINVAL; } - /* Store BA if we have full system info about cells and neigbor cells. + /* Store BA if we have full system info about cells and neighbor cells. * Depending on the extended bit in the channel description, - * we require more or less system informations about neighbor cells + * we require more or less system information about neighbor cells */ if (s->mcc && s->mnc @@ -2712,7 +2712,7 @@ && (!s->si2ter_ind || s->si2ter)) gsm322_store_ba_list(cs, s); - /* all relevant system informations received */ + /* all relevant system information received */ if (s->si1 && s->si2 && s->si3 && (!s->nb_ext_ind_si2 || s->si2bis) && (!s->si2ter_ind || s->si2ter)) { @@ -3108,7 +3108,7 @@ /* keep cell info for re-selection */ gsm48_rr_los(ms); - /* be shure that nothing else is done after here + /* be sure that nothing else is done after here * because the function call above may cause * to return from idle state and trigger cell re-sel. */ @@ -3220,7 +3220,7 @@ return gsm322_cs_powerscan(ms); } -/* start noraml cell selection */ +/* start normal cell selection */ static int gsm322_c_normal_cell_sel(struct osmocom_ms *ms, struct msgb *msg) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -3265,7 +3265,7 @@ /* indicate to MM that we lost coverage. * this is the only case where we really have no coverage. - * we tell MM, so it will enter the "No Cell Avaiable" state. */ + * we tell MM, so it will enter the "No Cell Available" state. */ if (msg_type == GSM322_EVENT_NO_CELL_FOUND) { struct msgb *nmsg; @@ -3325,7 +3325,7 @@ return gsm322_c_any_cell_sel(ms, msg); } -/* start noraml cell re-selection */ +/* start normal cell re-selection */ static int gsm322_c_normal_cell_resel(struct osmocom_ms *ms, struct msgb *msg) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -3490,7 +3490,7 @@ if (lower == higher) break; lower++; - /* wrap arround, only if not PCS */ + /* wrap around, only if not PCS */ if (lower == 1024) lower = 0; } @@ -4183,7 +4183,7 @@ /* check if we have successfully read BCCH */ if (!s || nb->state != GSM322_NB_SYSINFO) { LOGP(DNB, LOGL_INFO, "Skip cell: There are no system " - "informations available.\n"); + "information available.\n"); if (ms->rrlayer.monitor) { snprintf(arfcn_text, 10, "%s ", gsm_print_arfcn(nb->arfcn)); @@ -4356,7 +4356,7 @@ nb->c2); /* track which cells have been checked do far */ if (nb->checked_for_resel) { - LOGP(DCS, LOGL_INFO, "Skip cell: alredy tried to " + LOGP(DCS, LOGL_INFO, "Skip cell: already tried to " "select.\n"); goto cont; } @@ -4417,7 +4417,7 @@ nb->checked_for_resel = 1; /* NOTE: We might already have system information from previous - * scan. But we need recent informations, so we scan again! + * scan. But we need recent information, so we scan again! */ /* Tune to frequency for a while, to receive broadcasts. */ @@ -4523,7 +4523,7 @@ if (!changed && cs->nb_meas_set) return 0; - /* start neigbour cell measurement task */ + /* start neighbour cell measurement task */ num = 0; llist_for_each_entry(nb, &cs->nb_list, entry) { if (nb->state == GSM322_NB_NOT_SUP) @@ -5080,7 +5080,7 @@ s_rc = fgets(version, sizeof(version), fp); version[sizeof(version) - 1] = '\0'; if (!s_rc || !!strcmp(ba_version, version)) { - LOGP(DCS, LOGL_NOTICE, "BA version missmatch, " + LOGP(DCS, LOGL_NOTICE, "BA version mismatch, " "stored BA list becomes obsolete.\n"); } else while(!feof(fp)) { diff --git a/src/host/layer23/src/mobile/gsm411_sms.c b/src/host/layer23/src/mobile/gsm411_sms.c index 45decfd..593a2ad 100644 --- a/src/host/layer23/src/mobile/gsm411_sms.c +++ b/src/host/layer23/src/mobile/gsm411_sms.c @@ -125,7 +125,7 @@ { vty_notify(ms, NULL); if (!cause) - vty_notify(ms, "SMS to %s successfull\n", sms->address); + vty_notify(ms, "SMS to %s successful\n", sms->address); else vty_notify(ms, "SMS to %s failed: %s\n", sms->address, get_value_string(gsm411_rp_cause_strs, cause)); diff --git a/src/host/layer23/src/mobile/gsm480_ss.c b/src/host/layer23/src/mobile/gsm480_ss.c index 52e43b9..4ad2d7c 100644 --- a/src/host/layer23/src/mobile/gsm480_ss.c +++ b/src/host/layer23/src/mobile/gsm480_ss.c @@ -287,7 +287,7 @@ } /* - * endcoding + * encoding */ #define GSM480_ALLOC_SIZE 512+128 @@ -933,7 +933,7 @@ LOGP(DSS, LOGL_NOTICE, "Invoke ID mismatch\n"); } } - /* Store invoke ID, in case we wan't to send a result. */ + /* Store invoke ID, in case we want to send a result. */ trans->ss.invoke_id = tag_data[0]; len -= tag_data - data + tag_len; data = tag_data + tag_len; diff --git a/src/host/layer23/src/mobile/gsm48_cc.c b/src/host/layer23/src/mobile/gsm48_cc.c index f1e8109..de0d035 100644 --- a/src/host/layer23/src/mobile/gsm48_cc.c +++ b/src/host/layer23/src/mobile/gsm48_cc.c @@ -1750,7 +1750,7 @@ TLVP_VAL(&tp, GSM48_IE_USER_USER)-1); } - /* in case we receive a relase, when we are already in NULL state */ + /* in case we receive a release, when we are already in NULL state */ if (trans->cc.state == GSM_CSTATE_NULL) { LOGP(DCC, LOGL_INFO, "ignoring RELEASE in NULL state\n"); /* release MM conn, free trans */ diff --git a/src/host/layer23/src/mobile/gsm48_mm.c b/src/host/layer23/src/mobile/gsm48_mm.c index 872dce5..d3b042c 100644 --- a/src/host/layer23/src/mobile/gsm48_mm.c +++ b/src/host/layer23/src/mobile/gsm48_mm.c @@ -109,7 +109,7 @@ * - cell selected * - cell == SIM LAI * - * Otherwhise PLMN SEARCH is entered. + * Otherwise PLMN SEARCH is entered. * * During PLMN SEARCH NORMAL state: (4.2.2.5) * - on expirery of T3212: Perform periodic location update, when back @@ -193,7 +193,7 @@ * * * gsm48_mm_set_plmn_search() is used enter PLMN SEARCH or PLMN SEARCH NORMAL - * state. Depending on the conditions above, the appropiate state is selected. + * state. Depending on the conditions above, the appropriate state is selected. * * * gsm48_mm_return_idle() is used to select the Service state when returning @@ -1006,7 +1006,7 @@ if (s->t3212) /* still required? */ gsm48_mm_loc_upd_periodic(ms, NULL); else - LOGP(DMM, LOGL_INFO, "but not requred\n"); + LOGP(DMM, LOGL_INFO, "but not required\n"); /* must exit, because this function can be called * recursively */ @@ -2135,7 +2135,7 @@ /* (re)start only if we still require location update */ if (!mm->lupd_pending) { LOGP(DMM, LOGL_INFO, "No loc. upd. pending.\n"); - /* use MM IDLE to selecte the idle state */ + /* use MM IDLE to select the idle state */ return gsm48_mm_return_idle(ms, NULL); } @@ -2159,7 +2159,7 @@ if (!nmsg) return -ENOMEM; gsm322_plmn_sendmsg(ms, nmsg); - /* use MM IDLE to selecte the idle state */ + /* use MM IDLE to select the idle state */ return gsm48_mm_return_idle(ms, NULL); } @@ -2419,7 +2419,7 @@ /* update has finished */ mm->lupd_pending = 0; - /* RA was successfull */ + /* RA was successful */ mm->lupd_ra_failure = 0; /* stop periodic location updating timer */ @@ -2531,7 +2531,7 @@ return -EINVAL; } - /* RA was successfull */ + /* RA was successful */ mm->lupd_ra_failure = 0; /* stop periodic location updating timer */ @@ -2674,7 +2674,7 @@ return 0; } -/* process failues as described in the lower part of 4.4.4.9 */ +/* process failures as described in the lower part of 4.4.4.9 */ static int gsm48_mm_loc_upd_failed(struct osmocom_ms *ms, struct msgb *msg) { struct gsm48_mmlayer *mm = &ms->mmlayer; @@ -2755,7 +2755,7 @@ return 0; } - /* RA was successfull or sent twice */ + /* RA was successful or sent twice */ mm->lupd_ra_failure = 0; /* continue with failure handling */ @@ -2938,7 +2938,7 @@ /* release MM connection(s) */ gsm48_mm_release_mm_conn(ms, abort_any, 16, 0, 0); - /* state depends on the existance of remaining MM connections */ + /* state depends on the existence of remaining MM connections */ if (llist_empty(&mm->mm_conn)) new_mm_state(mm, GSM48_MM_ST_WAIT_NETWORK_CMD, 0); else @@ -3395,7 +3395,7 @@ /* release pending connection */ gsm48_mm_release_mm_conn(ms, 0, 102, 0, 0); - /* state depends on the existance of remaining MM connections */ + /* state depends on the existence of remaining MM connections */ if (llist_empty(&mm->mm_conn)) { /* start RR release timer */ start_mm_t3240(mm); @@ -3470,7 +3470,7 @@ if (conn) mm_conn_free(conn); - /* state depends on the existance of remaining MM connections */ + /* state depends on the existence of remaining MM connections */ if (llist_empty(&mm->mm_conn)) { /* start RR release timer */ start_mm_t3240(mm); @@ -3800,7 +3800,7 @@ return rc; } -/* state trasitions for radio ressource messages (lower layer) */ +/* state trasitions for radio resource messages (lower layer) */ static struct rrdatastate { uint32_t states; int type; @@ -4059,7 +4059,7 @@ msgb_free(msg); return 0; } - break; /* follow the selection proceedure below */ + break; /* follow the selection procedure below */ case GSM48_PDISC_CC: rc = gsm48_rcv_cc(ms, msg); diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c index a94fc99..254183e 100644 --- a/src/host/layer23/src/mobile/gsm48_rr.c +++ b/src/host/layer23/src/mobile/gsm48_rr.c @@ -40,7 +40,7 @@ * */ -/* Testing delayed (immediate) assigment / handover +/* Testing delayed (immediate) assignment / handover * * When enabled, the starting time will be set by given frames in the future. * If a starting time is given by the network, this time is ignored. @@ -210,7 +210,7 @@ case GSM48_PDISC_MM: case GSM48_PDISC_CC: case GSM48_PDISC_NC_SS: - /* all thre pdiscs share the same V(SD) */ + /* all three pdiscs share the same V(SD) */ pdisc = GSM48_PDISC_MM; // fall through case GSM48_PDISC_GROUP_CC: @@ -634,7 +634,7 @@ uint8_t ch_type, ch_subch, ch_ts; char text[256]; - /* don't monitor if no cell is selcted or if we scan neighbour cells */ + /* don't monitor if no cell is selected or if we scan neighbour cells */ if (!cs->selected || cs->neighbour) { sprintf(text, "MON: not camping on serving cell"); goto restart; @@ -1454,7 +1454,7 @@ if (s->neci) { chan_req_mask = 0x0f; chan_req_val = 0x10; - LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x (OHTER " + LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x (OTHER " "with NECI)\n", chan_req_val); } else { chan_req_mask = 0x1f; @@ -1593,11 +1593,11 @@ rr->n_chan_req--; if (rr->wait_assign == 0) { - /* first random acces, without delay of slots */ + /* first random access, without delay of slots */ slots = 0; rr->wait_assign = 1; } else { - /* subsequent random acces, with slots from table 3.1 */ + /* subsequent random access, with slots from table 3.1 */ switch(s->tx_integer) { case 3: case 8: case 14: case 50: if (s->ccch_conf != 1) /* not combined CCCH */ @@ -2077,7 +2077,7 @@ RR_EST_CAUSE_ANS_PAG_TCH_ANY }; -/* given LV of mobile identity is checked agains ms */ +/* given LV of mobile identity is checked against ms */ static uint8_t gsm_match_mi(struct osmocom_ms *ms, uint8_t *mi) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -2305,7 +2305,7 @@ } else LOGP(DPAG, LOGL_INFO, " TMSI %08x (not for us)\n", ntohl(pa->tmsi2)); - /* thrid MI */ + /* third MI */ if (ms->subscr.tmsi == ntohl(pa->tmsi3) && ms->subscr.mcc == cs->sel_mcc && ms->subscr.mnc == cs->sel_mnc @@ -2335,7 +2335,7 @@ * (immediate) assignment */ -/* match request reference agains request history */ +/* match request reference against request history */ static int gsm48_match_ra(struct osmocom_ms *ms, struct gsm48_req_ref *ref) { struct gsm48_rrlayer *rr = &ms->rrlayer; @@ -2387,7 +2387,7 @@ /* ignore imm.ass. while not camping on a cell */ if (!cs->selected || cs->neighbour || !s) { - LOGP(DRR, LOGL_INFO, "IMMEDIATED ASSGINMENT ignored, we are " + LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT ignored, we are " "have not proper selected the serving cell.\n"); return 0; @@ -2495,7 +2495,7 @@ /* ignore imm.ass.ext while not camping on a cell */ if (!cs->selected || cs->neighbour || !s) { - LOGP(DRR, LOGL_INFO, "IMMEDIATED ASSGINMENT ignored, we are " + LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT ignored, we are " "have not proper selected the serving cell.\n"); return 0; @@ -2671,7 +2671,7 @@ /* start timer 3126 if not already */ if (!osmo_timer_pending(&rr->t3126)) start_rr_t3126(rr, 5, 0); /* TODO improve! */ - /* stop assignmnet requests */ + /* stop assignment requests */ rr->n_chan_req = 0; /* wait until timer 3126 expires, then release @@ -2683,7 +2683,7 @@ return 0; } -/* 9.1.1 ADDITIONAL ASSIGMENT is received */ +/* 9.1.1 ADDITIONAL ASSIGNMENT is received */ static int gsm48_rr_rx_add_ass(struct osmocom_ms *ms, struct msgb *msg) { struct gsm48_hdr *gh = msgb_l3(msg); @@ -2732,7 +2732,7 @@ if ((s->si5bis && s->nb_ext_ind_si5 && s->nb_ba_ind_si5bis != rep_ba) || (s->si5ter && s->nb_ba_ind_si5ter != rep_ba)) { - LOGP(DRR, LOGL_NOTICE, "BA-IND missmatch on SI5*"); + LOGP(DRR, LOGL_NOTICE, "BA-IND mismatch on SI5*"); } else rep_valid = 1; } @@ -3054,7 +3054,7 @@ LOGP(DRR, LOGL_INFO, "using cell channel descr.\n"); if (cd->cell_desc_lv[0] != 16) { LOGP(DRR, LOGL_ERROR, "cell channel descr. " - "has invalid lenght\n"); + "has invalid length\n"); return GSM48_RR_CAUSE_ABNORMAL_UNSPEC; } gsm48_decode_freq_list(freq, cd->cell_desc_lv + 1, 16, @@ -3413,7 +3413,7 @@ } /* - * frequency redefition, chanel mode modify, assignment, and handover + * frequency redefition, channel mode modify, assignment, and handover */ /* set channel mode in case of TCH */ @@ -4537,7 +4537,7 @@ goto reject; } - /* check for relevant informations */ + /* check for relevant information */ if (!s->si3) { LOGP(DRR, LOGL_INFO, "Not enough SI, rejecting!\n"); cause = RR_REL_CAUSE_TRY_LATER; @@ -5364,7 +5364,7 @@ } -/* input function for L2 messags up to L3 */ +/* input function for L2 messages up to L3 */ static int gsm48_rcv_rsl(struct osmocom_ms *ms, struct msgb *msg) { struct abis_rsl_common_hdr *rslh = msgb_l2(msg); @@ -5593,7 +5593,7 @@ int s; if (rr->modify_state != GSM48_RR_MOD_HANDO) { - LOGP(DRR, LOGL_NOTICE, "Random acces confirm, but not in handover state.\n"); + LOGP(DRR, LOGL_NOTICE, "Random access confirm, but not in handover state.\n"); return 0; } diff --git a/src/host/layer23/src/mobile/main.c b/src/host/layer23/src/mobile/main.c index 9764b33..3002a94 100644 --- a/src/host/layer23/src/mobile/main.c +++ b/src/host/layer23/src/mobile/main.c @@ -166,7 +166,7 @@ /* The first signal causes initiating of shutdown with detach * procedure. The second signal causes initiating of shutdown * without detach procedure. The third signal will exit process - * immidiately. (in case it hangs) + * immediately. (in case it hangs) */ if (count_int == 0) { fprintf(stderr, "Performing shutdown with clean " diff --git a/src/host/layer23/src/mobile/mncc_sock.c b/src/host/layer23/src/mobile/mncc_sock.c index d7d56cc..4822190 100644 --- a/src/host/layer23/src/mobile/mncc_sock.c +++ b/src/host/layer23/src/mobile/mncc_sock.c @@ -96,7 +96,7 @@ /* FIXME: make sure we don't enqueue anymore */ - /* release all exisitng calls */ + /* release all existing calls */ mncc_clear_trans(state->inst, GSM48_PDISC_CC); /* flush the queue */ diff --git a/src/host/layer23/src/mobile/mnccms.c b/src/host/layer23/src/mobile/mnccms.c index 2243291..9a37b97 100644 --- a/src/host/layer23/src/mobile/mnccms.c +++ b/src/host/layer23/src/mobile/mnccms.c @@ -153,7 +153,7 @@ mncc->bearer_cap.speech_ctm = 0; /* if no specific speech_ver is given */ if (speech_ver < 0) { - /* if half rate is supported and prefered */ + /* if half rate is supported and preferred */ if (set->half_v3 && set->half && set->half_prefer) { mncc->bearer_cap.speech_ver[i++] = 5; LOGP(DMNCC, LOGL_INFO, " support half rate v3\n"); @@ -175,7 +175,7 @@ mncc->bearer_cap.speech_ver[i++] = 0; LOGP(DMNCC, LOGL_INFO, " support full rate v1\n"); } - /* if half rate is supported and not prefered */ + /* if half rate is supported and not preferred */ if (set->half_v3 && set->half && !set->half_prefer) { mncc->bearer_cap.speech_ver[i++] = 5; LOGP(DMNCC, LOGL_INFO, " support half rate v3\n"); @@ -331,7 +331,7 @@ vty_notify(ms, "Call: Remote out of order\n"); break; case GSM48_CC_CAUSE_INV_NR_FORMAT: - vty_notify(ms, "Call: Number invalid or imcomplete\n"); + vty_notify(ms, "Call: Number invalid or incomplete\n"); break; case GSM48_CC_CAUSE_NO_CIRCUIT_CHAN: vty_notify(ms, "Call: No channel available\n"); diff --git a/src/host/layer23/src/mobile/script_lua.c b/src/host/layer23/src/mobile/script_lua.c index 2979e7c..c8868b5 100644 --- a/src/host/layer23/src/mobile/script_lua.c +++ b/src/host/layer23/src/mobile/script_lua.c @@ -502,7 +502,7 @@ luaL_argcheck(L, lua_isnumber(L, -2), 1, "needs to be a filedescriptor"); luaL_argcheck(L, lua_isfunction(L, -1), 2, "Callback needs to be a function"); - /* Cretae a table so a user can unregister (and unregister on GC) */ + /* Create a table so a user can unregister (and unregister on GC) */ fdu = lua_newuserdata(L, sizeof(*fdu)); fdu->state = L; fdu->fd.fd = -1; diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index 2001b88..70ee703 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -223,7 +223,7 @@ gsm_get_mnc(ms->cellsel.sel_mcc, ms->cellsel.sel_mnc), VTY_NEWLINE); } - vty_out(vty, " radio ressource layer state: %s%s", + vty_out(vty, " radio resource layer state: %s%s", gsm48_rr_state_names[ms->rrlayer.state], VTY_NEWLINE); vty_out(vty, " mobility management layer state: %s", gsm48_mm_state_names[ms->mmlayer.state]); @@ -523,7 +523,7 @@ DEFUN(sim_test, sim_test_cmd, "sim testcard MS_NAME [MCC] [MNC] [LAC] [TMSI]", - "SIM actions\nAttach bulit in test SIM\nName of MS (see \"show ms\")\n" + "SIM actions\nAttach built in test SIM\nName of MS (see \"show ms\")\n" "Optionally set mobile Country Code of RPLMN\n" "Optionally set mobile Network Code of RPLMN\n" "Optionally set location area code of RPLMN\n" @@ -534,7 +534,7 @@ DEFUN(sim_test_att, sim_test_att_cmd, "sim testcard MS_NAME MCC MNC LAC TMSI attached", - "SIM actions\nAttach bulit in test SIM\nName of MS (see \"show ms\")\n" + "SIM actions\nAttach built in test SIM\nName of MS (see \"show ms\")\n" "Set mobile Country Code of RPLMN\nSet mobile Network Code of RPLMN\n" "Set location area code\nSet current assigned TMSI\n" "Indicate to MM that card is already attached") @@ -814,7 +814,7 @@ DEFUN(call, call_cmd, "call MS_NAME (NUMBER|emergency|answer|hangup|hold)", "Make a call\nName of MS (see \"show ms\")\nPhone number to call " "(Use digits '0123456789*#abc', and '+' to dial international)\n" - "Make an emergency call\nAnswer an incomming call\nHangup a call\n" + "Make an emergency call\nAnswer an incoming call\nHangup a call\n" "Hold current active call\n") { struct osmocom_ms *ms; @@ -1597,7 +1597,7 @@ DEFUN(cfg_ms_sim, cfg_ms_sim_cmd, "sim (none|reader|test|sap)", "Set SIM card to attach when powering on\nAttach no SIM\n" - "Attach SIM from reader\nAttach bulit in test SIM\n" + "Attach SIM from reader\nAttach build in test SIM\n" "Attach SIM over SAP interface") { struct osmocom_ms *ms = vty->index; diff --git a/src/host/virt_phy/include/virtphy/virt_l1_model.h b/src/host/virt_phy/include/virtphy/virt_l1_model.h index 67c24bb..e2485fc 100644 --- a/src/host/virt_phy/include/virtphy/virt_l1_model.h +++ b/src/host/virt_phy/include/virtphy/virt_l1_model.h @@ -27,7 +27,7 @@ uint8_t bsic; /* Combined or non-combined CCCH */ uint8_t ccch_mode; /* enum ccch_mode */ - /* whats the delta of the cells current GSM frame number + /* what's the delta of the cells current GSM frame number * compared to our current local frame number */ int32_t fn_offset; /* how much does the TPU need adjustment (delta) to synchronize @@ -71,9 +71,9 @@ uint8_t tn; // timeslot number 1-7 uint8_t subslot; // subslot of the dedicated channel, SDCCH/4:[0-3], SDCCH/8:[0-7] - uint8_t scn; // single-hop cellular network? (ununsed in virtual um) - uint8_t tsc; // training sequence code (ununsed in virtual um) - uint8_t h; // hopping enabled flag (ununsed in virtual um) + uint8_t scn; // single-hop cellular network? (unused in virtual um) + uint8_t tsc; // training sequence code (unused in virtual um) + uint8_t h; // hopping enabled flag (unused in virtual um) } dedicated; struct { struct { diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 2cf9d2d..2b21c6d 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -135,7 +135,7 @@ return true; break; case 1: /* RLC/MAC Control without optional octets */ - /* forward all RLC/MAC control blocks without optional octets, i.e. not adressed + /* forward all RLC/MAC control blocks without optional octets, i.e. not addressed * to a specific TFI */ return true; case 2: /* RLC/MAC with optional control octets */ diff --git a/src/host/virt_phy/src/l1ctl_sap.c b/src/host/virt_phy/src/l1ctl_sap.c index f95a4ca..7669c86 100644 --- a/src/host/virt_phy/src/l1ctl_sap.c +++ b/src/host/virt_phy/src/l1ctl_sap.c @@ -313,7 +313,7 @@ * * Handle frequency change in dedicated mode. E.g. used for frequency hopping. * - * Note: Not needed for virtual physical layer as freqency hopping is generally disabled. + * Note: Not needed for virtual physical layer as frequency hopping is generally disabled. */ void l1ctl_rx_dm_freq_req(struct l1_model_ms *ms, struct msgb *msg) { @@ -504,7 +504,7 @@ * The neighbor cell description is one of the info messages sent by the BTS on BCCH. * This method will also enable neighbor measurement in the multiframe scheduler. * - * Note: Not needed for virtual physical layer as we dont maintain neigbors. + * Note: Not needed for virtual physical layer as we don't maintain neighbors. */ void l1ctl_rx_neigh_pm_req(struct l1_model_ms *ms, struct msgb *msg) { diff --git a/src/host/virt_phy/src/logging.c b/src/host/virt_phy/src/logging.c index 7e4e79b..aa3b88a 100644 --- a/src/host/virt_phy/src/logging.c +++ b/src/host/virt_phy/src/logging.c @@ -131,5 +131,5 @@ if (type < ARRAY_SIZE(l1ctlPrimNames)) return l1ctlPrimNames[type]; else - return "Unknwon Primitive"; + return "Unknown Primitive"; } diff --git a/src/host/virt_phy/src/virt_prim_pm.c b/src/host/virt_phy/src/virt_prim_pm.c index 4637013..6d11f49 100644 --- a/src/host/virt_phy/src/virt_prim_pm.c +++ b/src/host/virt_phy/src/virt_prim_pm.c @@ -106,7 +106,7 @@ struct l1ctl_hdr *resp_l1h = msgb_l1(resp_msg); resp_l1h->flags |= L1CTL_F_DONE; } - /* no more space to hold mor pm info in msgb, flush to l23 */ + /* no more space to hold more pm info in msgb, flush to l23 */ if (msgb_tailroom(resp_msg) < sizeof(*pm_conf)) { LOGPMS(DL1C, LOGL_INFO, ms, "Tx L1CTL_PM_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, resp_msg); diff --git a/src/shared/libosmocore/doc/vty/example.xml b/src/shared/libosmocore/doc/vty/example.xml index 400c634..fdb5080 100644 --- a/src/shared/libosmocore/doc/vty/example.xml +++ b/src/shared/libosmocore/doc/vty/example.xml @@ -1,6 +1,6 @@ - + diff --git a/src/shared/libosmocore/include/osmocom/core/bits.h b/src/shared/libosmocore/include/osmocom/core/bits.h index 4c68532..1b3f407 100644 --- a/src/shared/libosmocore/include/osmocom/core/bits.h +++ b/src/shared/libosmocore/include/osmocom/core/bits.h @@ -16,7 +16,7 @@ typedef uint8_t pbit_t; /*!< \brief packed bis (8 bits in a byte) */ /* - NOTE on the endianess of pbit_t: + NOTE on the endianness of pbit_t: Bits in a pbit_t are ordered MSB first, i.e. 0x80 is the first bit. Bit i in a pbit_t array is array[i/8] & (1<<(7-i%8)) */ diff --git a/src/shared/libosmocore/include/osmocom/core/bitvec.h b/src/shared/libosmocore/include/osmocom/core/bitvec.h index 9c000d0..a021688 100644 --- a/src/shared/libosmocore/include/osmocom/core/bitvec.h +++ b/src/shared/libosmocore/include/osmocom/core/bitvec.h @@ -46,7 +46,7 @@ /*! \brief structure describing a bit vector */ struct bitvec { - unsigned int cur_bit; /*!< \brief curser to the next unused bit */ + unsigned int cur_bit; /*!< \brief cursor to the next unused bit */ unsigned int data_len; /*!< \brief length of data array in bytes */ uint8_t *data; /*!< \brief pointer to data array */ }; diff --git a/src/shared/libosmocore/include/osmocom/core/conv.h b/src/shared/libosmocore/include/osmocom/core/conv.h index e5b2a97..c62396d 100644 --- a/src/shared/libosmocore/include/osmocom/core/conv.h +++ b/src/shared/libosmocore/include/osmocom/core/conv.h @@ -35,7 +35,7 @@ #include -/*! \brief possibe termination types +/*! \brief possible termination types * * The termination type will determine which state the encoder/decoder * can start/end with. This is mostly taken care of in the high level API diff --git a/src/shared/libosmocore/include/osmocom/core/logging.h b/src/shared/libosmocore/include/osmocom/core/logging.h index 655f7a4..e637004 100644 --- a/src/shared/libosmocore/include/osmocom/core/logging.h +++ b/src/shared/libosmocore/include/osmocom/core/logging.h @@ -137,7 +137,7 @@ /*! \brief should log messages be prefixed with a filename? */ unsigned int print_filename:1; - /*! \brief the type of this log taget */ + /*! \brief the type of this log target */ enum log_target_type type; union { diff --git a/src/shared/libosmocore/include/osmocom/core/select.h b/src/shared/libosmocore/include/osmocom/core/select.h index efdd716..7e7f30a 100644 --- a/src/shared/libosmocore/include/osmocom/core/select.h +++ b/src/shared/libosmocore/include/osmocom/core/select.h @@ -22,7 +22,7 @@ struct osmo_fd { /*! linked list for internal management */ struct llist_head list; - /*! actual operating-system level file decriptor */ + /*! actual operating-system level file descriptor */ int fd; /*! bit-mask or of \ref BSC_FD_READ, \ref BSC_FD_WRITE and/or * \ref BSC_FD_EXCEPT */ diff --git a/src/shared/libosmocore/include/osmocom/core/write_queue.h b/src/shared/libosmocore/include/osmocom/core/write_queue.h index 816c036..d9048c2 100644 --- a/src/shared/libosmocore/include/osmocom/core/write_queue.h +++ b/src/shared/libosmocore/include/osmocom/core/write_queue.h @@ -45,11 +45,11 @@ /*! \brief actual linked list implementing the queue */ struct llist_head msg_queue; - /*! \brief call-back in case qeueue is readable */ + /*! \brief call-back in case queue is readable */ int (*read_cb)(struct osmo_fd *fd); - /*! \brief call-back in case qeueue is writable */ + /*! \brief call-back in case queue is writable */ int (*write_cb)(struct osmo_fd *fd, struct msgb *msg); - /*! \brief call-back in case qeueue has exceptions */ + /*! \brief call-back in case queue has exceptions */ int (*except_cb)(struct osmo_fd *fd); }; diff --git a/src/shared/libosmocore/include/osmocom/crypt/auth.h b/src/shared/libosmocore/include/osmocom/crypt/auth.h index 871e7c8..727e12e 100644 --- a/src/shared/libosmocore/include/osmocom/crypt/auth.h +++ b/src/shared/libosmocore/include/osmocom/crypt/auth.h @@ -65,7 +65,7 @@ struct llist_head list; enum osmo_auth_algo algo; /*!< algorithm we implement */ const char *name; /*!< name of the implementation */ - unsigned int priority; /*!< priority value (resp. othe implementations */ + unsigned int priority; /*!< priority value (resp. other implementations */ /*! \brief callback for generate authentication vectors */ int (*gen_vec)(struct osmo_auth_vector *vec, diff --git a/src/shared/libosmocore/include/osmocom/crypt/gprs_cipher.h b/src/shared/libosmocore/include/osmocom/crypt/gprs_cipher.h index 3051071..8c67254 100644 --- a/src/shared/libosmocore/include/osmocom/crypt/gprs_cipher.h +++ b/src/shared/libosmocore/include/osmocom/crypt/gprs_cipher.h @@ -27,7 +27,7 @@ /* As specified in 04.64 Annex A. Uses Kc, IV and direction * to generate the 1523 bytes cipher stream that need to be - * XORed wit the plaintext for encrypt / ciphertext for decrypt */ + * XORed with the plaintext for encrypt / ciphertext for decrypt */ int (*run)(uint8_t *out, uint16_t len, uint64_t kc, uint32_t iv, enum gprs_cipher_direction direction); }; diff --git a/src/shared/libosmocore/include/osmocom/vty/command.h b/src/shared/libosmocore/include/osmocom/vty/command.h index 8fbb482..baf53ae 100644 --- a/src/shared/libosmocore/include/osmocom/vty/command.h +++ b/src/shared/libosmocore/include/osmocom/vty/command.h @@ -299,7 +299,7 @@ #define IN_STR "Filter incoming routing updates\n" #define V4NOTATION_STR "specify by IPv4 address notation(e.g. 0.0.0.0)\n" #define OSPF6_NUMBER_STR "Specify by number\n" -#define INTERFACE_STR "Interface infomation\n" +#define INTERFACE_STR "Interface information\n" #define IFNAME_STR "Interface name(e.g. ep0)\n" #define IP6_STR "IPv6 Information\n" #define OSPF6_STR "Open Shortest Path First (OSPF) for IPv6\n" diff --git a/src/shared/libosmocore/include/osmocom/vty/vector.h b/src/shared/libosmocore/include/osmocom/vty/vector.h index 22a184d..48e32fb 100644 --- a/src/shared/libosmocore/include/osmocom/vty/vector.h +++ b/src/shared/libosmocore/include/osmocom/vty/vector.h @@ -33,7 +33,7 @@ #define VECTOR_MIN_SIZE 1 -/* (Sometimes) usefull macros. This macro convert index expression to +/* (Sometimes) useful macros. This macro convert index expression to array expression. */ /* Reference slot at given index, caller must ensure slot is active */ #define vector_slot(V,I) ((V)->index[(I)]) diff --git a/src/shared/libosmocore/include/osmocom/vty/vty.h b/src/shared/libosmocore/include/osmocom/vty/vty.h index e656abf..74e64fe 100644 --- a/src/shared/libosmocore/include/osmocom/vty/vty.h +++ b/src/shared/libosmocore/include/osmocom/vty/vty.h @@ -82,7 +82,7 @@ /*! \brief Command max length. */ int max; - /*! \brief Histry of command */ + /*! \brief History of command */ char *hist[VTY_MAXHIST]; /*! \brief History lookup current point */ diff --git a/src/shared/libosmocore/src/backtrace.c b/src/shared/libosmocore/src/backtrace.c index 5b93bec..b592821 100644 --- a/src/shared/libosmocore/src/backtrace.c +++ b/src/shared/libosmocore/src/backtrace.c @@ -21,7 +21,7 @@ */ /*! \file backtrace.c - * \brief Routines realted to generating call back traces + * \brief Routines related to generating call back traces */ #include diff --git a/src/shared/libosmocore/src/gb/gprs_bssgp.c b/src/shared/libosmocore/src/gb/gprs_bssgp.c index e41c7ef..015fb35 100644 --- a/src/shared/libosmocore/src/gb/gprs_bssgp.c +++ b/src/shared/libosmocore/src/gb/gprs_bssgp.c @@ -97,7 +97,7 @@ /* FIXME: BVCI is not unique, only BVCI+NSEI ?!? */ ctx->ctrg = rate_ctr_group_alloc(ctx, &bssgp_ctrg_desc, bvci); ctx->fc = talloc_zero(ctx, struct bssgp_flow_control); - /* cofigure for 2Mbit, 30 packets in queue */ + /* configure for 2Mbit, 30 packets in queue */ bssgp_fc_init(ctx->fc, 100000, 2*1024*1024/8, 30, &_bssgp_tx_dl_ud); llist_add(&ctx->list, &bssgp_bvc_ctxts); diff --git a/src/shared/libosmocore/src/gb/gprs_ns.c b/src/shared/libosmocore/src/gb/gprs_ns.c index cdcf36e..9983602 100644 --- a/src/shared/libosmocore/src/gb/gprs_ns.c +++ b/src/shared/libosmocore/src/gb/gprs_ns.c @@ -32,7 +32,7 @@ * * Some introduction into NS: NS is used typically on top of frame relay, * but in the ip.access world it is encapsulated in UDP packets. It serves - * as an intermediate shim betwen BSSGP and the underlying medium. It doesn't + * as an intermediate shim between BSSGP and the underlying medium. It doesn't * do much, apart from providing congestion notification and status indication. * * Terms: @@ -543,7 +543,7 @@ return gprs_ns_tx(nsvc, msg); } -/*! \brief High-level function for transmitting a NS-UNITDATA messsage +/*! \brief High-level function for transmitting a NS-UNITDATA message * \param[in] nsi NS-instance on which we shall transmit * \param[in] msg struct msgb to be trasnmitted * @@ -737,7 +737,7 @@ * \param[in] ll link-layer type in which data was received * \returns 0 in case of success, < 0 in case of error * - * This is the main entry point int othe NS imlementation where frames + * This is the main entry point into the NS implementation where frames * from the underlying transport (normally UDP) enter. */ int gprs_ns_rcvmsg(struct gprs_ns_inst *nsi, struct msgb *msg, @@ -910,7 +910,7 @@ nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES] = 10; /* Create the dummy NSVC that we use for sending - * messages to non-existant/unknown NS-VC's */ + * messages to non-existent/unknown NS-VC's */ nsi->unknown_nsvc = gprs_nsvc_create(nsi, 0xfffe); llist_del(&nsi->unknown_nsvc->list); diff --git a/src/shared/libosmocore/src/gb/gprs_ns_frgre.c b/src/shared/libosmocore/src/gb/gprs_ns_frgre.c index e557c7e..5c16e6a 100644 --- a/src/shared/libosmocore/src/gb/gprs_ns_frgre.c +++ b/src/shared/libosmocore/src/gb/gprs_ns_frgre.c @@ -281,7 +281,7 @@ uint8_t *frh; struct gre_hdr *greh; - /* Build socket address for the packet destionation */ + /* Build socket address for the packet destination */ daddr.sin_family = AF_INET; daddr.sin_addr = nsvc->frgre.bts_addr.sin_addr; daddr.sin_port = IPPROTO_GRE; diff --git a/src/shared/libosmocore/src/gsm/auth_core.c b/src/shared/libosmocore/src/gsm/auth_core.c index 5cf8dfc..0f790b7 100644 --- a/src/shared/libosmocore/src/gsm/auth_core.c +++ b/src/shared/libosmocore/src/gsm/auth_core.c @@ -132,7 +132,7 @@ * based on the permanent subscriber data, a random value as well as the * AUTS and RAND values returned by the SIM/MS. This special variant is * needed if the sequence numbers between MS and AUC have for some - * reason become diffrent. + * reason become different. */ int osmo_auth_gen_vec_auts(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, diff --git a/src/shared/libosmocore/src/gsm/gsm0411_smc.c b/src/shared/libosmocore/src/gsm/gsm0411_smc.c index 4152ef1..dfd699f 100644 --- a/src/shared/libosmocore/src/gsm/gsm0411_smc.c +++ b/src/shared/libosmocore/src/gsm/gsm0411_smc.c @@ -44,7 +44,7 @@ * MMSMS-REL-REQ. It is allowed to destroy this process while processing * this message. * - * There is expeption, if MMSMS-REL-IND is received from lower layer, the + * There is exception, if MMSMS-REL-IND is received from lower layer, the * process returns to IDLE without sending MMSMS-REL-REQ. * */ diff --git a/src/shared/libosmocore/src/gsm/gsm0411_smr.c b/src/shared/libosmocore/src/gsm/gsm0411_smr.c index 7dd8f72..41a2e23 100644 --- a/src/shared/libosmocore/src/gsm/gsm0411_smr.c +++ b/src/shared/libosmocore/src/gsm/gsm0411_smr.c @@ -117,7 +117,7 @@ { GSM411_RP_CAUSE_INV_TRANS_REF, "Invalid Transaction Reference" }, { GSM411_RP_CAUSE_SEMANT_INC_MSG, "Semantically Incorrect Message" }, { GSM411_RP_CAUSE_INV_MAND_INF, "Invalid Mandatory Information" }, - { GSM411_RP_CAUSE_MSGTYPE_NOTEXIST, "Message Type non-existant" }, + { GSM411_RP_CAUSE_MSGTYPE_NOTEXIST, "Message Type non-existent" }, { GSM411_RP_CAUSE_MSG_INCOMP_STATE, "Message incompatible with protocol state" }, { GSM411_RP_CAUSE_IE_NOTEXIST, "Information Element not existing" }, { GSM411_RP_CAUSE_PROTOCOL_ERR, "Protocol Error" }, diff --git a/src/shared/libosmocore/src/gsm/gsm0808.c b/src/shared/libosmocore/src/gsm/gsm0808.c index 3009827..a2b66d8 100644 --- a/src/shared/libosmocore/src/gsm/gsm0808.c +++ b/src/shared/libosmocore/src/gsm/gsm0808.c @@ -192,7 +192,7 @@ /* write 3.2.2.22 */ msgb_tv_put(msg, GSM0808_IE_RR_CAUSE, rr_cause); - /* write cirtcuit identity code 3.2.2.2 */ + /* write circuit identity code 3.2.2.2 */ /* write cell identifier 3.2.2.17 */ /* write chosen channel 3.2.2.33 when BTS picked it */ msgb_tv_put(msg, GSM0808_IE_CHOSEN_CHANNEL, chosen_channel); diff --git a/src/shared/libosmocore/src/gsm/gsm48.c b/src/shared/libosmocore/src/gsm/gsm48.c index ea05d45..4910a0c 100644 --- a/src/shared/libosmocore/src/gsm/gsm48.c +++ b/src/shared/libosmocore/src/gsm/gsm48.c @@ -152,7 +152,7 @@ { GSM48_RR_CAUSE_CALL_CLEARED, "Call already cleared" }, { GSM48_RR_CAUSE_SEMANT_INCORR, "Semantically incorrect message" }, { GSM48_RR_CAUSE_INVALID_MAND_INF, "Invalid mandatory information" }, - { GSM48_RR_CAUSE_MSG_TYPE_N, "Message type non-existant or not implemented" }, + { GSM48_RR_CAUSE_MSG_TYPE_N, "Message type non-existent or not implemented" }, { GSM48_RR_CAUSE_MSG_TYPE_N_COMPAT, "Message type not compatible with protocol state" }, { GSM48_RR_CAUSE_COND_IE_ERROR, "Conditional IE error" }, { GSM48_RR_CAUSE_NO_CELL_ALLOC_A, "No cell allocation available" }, @@ -285,7 +285,7 @@ lai48->lac = htons(lac); } -/* Attention: this function retunrs true integers, not hex! */ +/* Attention: this function returns true integers, not hex! */ int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc, uint16_t *mnc, uint16_t *lac) { diff --git a/src/shared/libosmocore/src/gsm/gsm48_ie.c b/src/shared/libosmocore/src/gsm/gsm48_ie.c index 78619b9..6cd6668 100644 --- a/src/shared/libosmocore/src/gsm/gsm48_ie.c +++ b/src/shared/libosmocore/src/gsm/gsm48_ie.c @@ -766,7 +766,7 @@ * * The Range format uses "SMOD" computation. * e.g. "n SMOD m" equals "((n - 1) % m) + 1" - * A cascade of multiple SMOD computations is simpified: + * A cascade of multiple SMOD computations is simplified: * "(n SMOD m) SMOD o" equals "(((n - 1) % m) % o) + 1" * * The Range format uses 16 octets of data in SYSTEM INFORMATION. diff --git a/src/shared/libosmocore/src/gsm/lapd_core.c b/src/shared/libosmocore/src/gsm/lapd_core.c index 96099ed..a23a1b0 100644 --- a/src/shared/libosmocore/src/gsm/lapd_core.c +++ b/src/shared/libosmocore/src/gsm/lapd_core.c @@ -58,8 +58,8 @@ * T203 is optional. It will be stated when entering MF EST state. It will also * be started when I or S frame is received in that state . It will be * restarted in the lapd_acknowledge() function, in case outstanding frames - * will not trigger T200. It will be stoped, when T200 is started in MF EST - * state. It will also be stoped when leaving MF EST state. + * will not trigger T200. It will be stopped, when T200 is started in MF EST + * state. It will also be stopped when leaving MF EST state. * */ @@ -323,7 +323,7 @@ /* reset and de-allocate history buffer */ void lapd_dl_exit(struct lapd_datalink *dl) { - /* free all ressources except history buffer */ + /* free all resources except history buffer */ lapd_dl_reset(dl); /* free history buffer list */ talloc_free(dl->tx_hist); @@ -702,7 +702,7 @@ lapd_start_t200(dl); } -/* 5.5.3.1: Common function to acknowlege frames up to the given N(R) value */ +/* 5.5.3.1: Common function to acknowledge frames up to the given N(R) value */ static void lapd_acknowledge(struct lapd_msg_ctx *lctx) { struct lapd_datalink *dl = lctx->dl; @@ -833,7 +833,7 @@ #endif if (memcmp(dl->cont_res, msg->data, length)) { LOGP(DLLAPD, LOGL_INFO, "Another SABM " - "with diffrent content - " + "with different content - " "ignoring!\n"); msgb_free(msg); return 0; @@ -1037,7 +1037,7 @@ * parameters" is sent to the mobile management entity. */ LOGP(DLLAPD, LOGL_NOTICE, - "U frame iwth incorrect parameters "); + "U frame with incorrect parameters "); msgb_free(msg); mdl_error(MDL_CAUSE_UFRM_INC_PARAM, lctx); return -EIO; @@ -1216,7 +1216,7 @@ if (lctx->cr == dl->cr.rem2loc.resp && lctx->p_f && dl->state != LAPD_STATE_TIMER_RECOV) { - /* 5.4.2.2: Inidcate error on supervisory reponse F=1 */ + /* 5.4.2.2: Inidcate error on supervisory response F=1 */ LOGP(DLLAPD, LOGL_NOTICE, "S frame response with F=1 error\n"); mdl_error(MDL_CAUSE_UNSOL_SPRV_RESP, lctx); } @@ -1238,7 +1238,7 @@ case LAPD_S_RR: LOGP(DLLAPD, LOGL_INFO, "RR received in state %s\n", lapd_state_names[dl->state]); - /* 5.5.3.1: Acknowlege all tx frames up the the N(R)-1 */ + /* 5.5.3.1: Acknowledge all tx frames up the the N(R)-1 */ lapd_acknowledge(lctx); /* 5.5.3.2 */ @@ -1281,7 +1281,7 @@ case LAPD_S_RNR: LOGP(DLLAPD, LOGL_INFO, "RNR received in state %s\n", lapd_state_names[dl->state]); - /* 5.5.3.1: Acknowlege all tx frames up the the N(R)-1 */ + /* 5.5.3.1: Acknowledge all tx frames up the the N(R)-1 */ lapd_acknowledge(lctx); /* 5.5.5 */ @@ -1325,7 +1325,7 @@ case LAPD_S_REJ: LOGP(DLLAPD, LOGL_INFO, "REJ received in state %s\n", lapd_state_names[dl->state]); - /* 5.5.3.1: Acknowlege all tx frames up the the N(R)-1 */ + /* 5.5.3.1: Acknowledge all tx frames up the the N(R)-1 */ lapd_acknowledge(lctx); /* 5.5.4.1 */ @@ -1515,7 +1515,7 @@ dl->seq_err_cond = 2; } /* Even if N(s) sequence error, acknowledge to N(R)-1 */ - /* 5.5.3.1: Acknowlege all transmitted frames up the N(R)-1 */ + /* 5.5.3.1: Acknowledge all transmitted frames up the N(R)-1 */ lapd_acknowledge(lctx); /* V(A) is also set here */ /* Send message, if possible due to acknowledged data */ @@ -1529,7 +1529,7 @@ dl->v_recv = inc_mod(dl->v_recv, dl->v_range); LOGP(DLLAPD, LOGL_INFO, "incrementing V(R) to %u\n", dl->v_recv); - /* 5.5.3.1: Acknowlege all transmitted frames up the the N(R)-1 */ + /* 5.5.3.1: Acknowledge all transmitted frames up the the N(R)-1 */ lapd_acknowledge(lctx); /* V(A) is also set here */ /* Only if we are not in own receiver busy condition */ diff --git a/src/shared/libosmocore/src/gsm/lapdm.c b/src/shared/libosmocore/src/gsm/lapdm.c index 1c08113..185108e 100644 --- a/src/shared/libosmocore/src/gsm/lapdm.c +++ b/src/shared/libosmocore/src/gsm/lapdm.c @@ -158,7 +158,7 @@ lapdm_entity_init(&lc->lapdm_dcch, mode, 1); } -/*! \brief flush and release all resoures in LAPDm entity */ +/*! \brief flush and release all resources in LAPDm entity */ void lapdm_entity_exit(struct lapdm_entity *le) { unsigned int i; @@ -570,7 +570,7 @@ rsl_rll_error(RLL_CAUSE_FRM_UNIMPL, &mctx); return -EINVAL; } - /* adress field */ + /* address field */ lctx.lpd = LAPDm_ADDR_LPD(msg->l2h[0]); lctx.sapi = LAPDm_ADDR_SAPI(msg->l2h[0]); lctx.cr = LAPDm_ADDR_CR(msg->l2h[0]); diff --git a/src/shared/libosmocore/src/gsm/rsl.c b/src/shared/libosmocore/src/gsm/rsl.c index 5693b4f..72bfc61 100644 --- a/src/shared/libosmocore/src/gsm/rsl.c +++ b/src/shared/libosmocore/src/gsm/rsl.c @@ -470,7 +470,7 @@ /* construct a RSLms RLL message (DATA INDICATION, UNIT DATA * INDICATION) and send it off via RSLms */ - /* Push the L3 IE tag and lengh */ + /* Push the L3 IE tag and length */ msgb_tv16_push(msg, RSL_IE_L3_INFO, l3_len); /* Then push the RSL header */ diff --git a/src/shared/libosmocore/src/gsm/tlv_parser.c b/src/shared/libosmocore/src/gsm/tlv_parser.c index d18a6bf..b375b6e 100644 --- a/src/shared/libosmocore/src/gsm/tlv_parser.c +++ b/src/shared/libosmocore/src/gsm/tlv_parser.c @@ -51,7 +51,7 @@ return 1; } - /* FIXME: use tables for knwon IEI */ + /* FIXME: use tables for known IEI */ switch (def->def[tag].type) { case TLV_TYPE_T: /* GSM TS 04.07 11.2.4: Type 1 TV or Type 2 T */ diff --git a/src/shared/libosmocore/src/logging.c b/src/shared/libosmocore/src/logging.c index f58265f..447515d 100644 --- a/src/shared/libosmocore/src/logging.c +++ b/src/shared/libosmocore/src/logging.c @@ -113,7 +113,7 @@ "Log simply everything", "Log debug messages and higher levels", "Log informational messages and higher levels", - "Log noticable messages and higher levels", + "Log noticeable messages and higher levels", "Log error messages and higher levels", "Log only fatal messages", NULL, diff --git a/src/shared/libosmocore/src/msgb.c b/src/shared/libosmocore/src/msgb.c index c8564db..6b966f3 100644 --- a/src/shared/libosmocore/src/msgb.c +++ b/src/shared/libosmocore/src/msgb.c @@ -105,10 +105,10 @@ } /*! \brief Re-set all message buffer pointers - * \param[in] m message buffer that is to be resetted + * \param[in] m message buffer that is to be reset * * This will re-set the various internal pointers into the underlying - * message buffer, i.e. remvoe all headroom and treat the msgb as + * message buffer, i.e. remove all headroom and treat the msgb as * completely empty. It also initializes the control buffer to zero. */ void msgb_reset(struct msgb *msg) diff --git a/src/shared/libosmocore/src/socket.c b/src/shared/libosmocore/src/socket.c index 53205cd..b2a79e8 100644 --- a/src/shared/libosmocore/src/socket.c +++ b/src/shared/libosmocore/src/socket.c @@ -124,7 +124,7 @@ * \param[in] port remote port number in host byte order * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT * - * This function creates (and optionall binds/connects) a socket using + * This function creates (and optional binds/connects) a socket using * \ref osmo_sock_init, but also fills the \a ofd structure. */ int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto, @@ -154,7 +154,7 @@ * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT * - * This function creates (and optionall binds/connects) a socket using + * This function creates (and optional binds/connects) a socket using * \ref osmo_sock_init, but also fills the \a ss structure. */ int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type, diff --git a/src/shared/libosmocore/src/talloc.c b/src/shared/libosmocore/src/talloc.c index d3a0690..fdeda40 100644 --- a/src/shared/libosmocore/src/talloc.c +++ b/src/shared/libosmocore/src/talloc.c @@ -701,7 +701,7 @@ /* remove a specific parent context from a pointer. This is a more - controlled varient of talloc_free() + controlled variant of talloc_free() */ int talloc_unlink(const void *context, void *ptr) { diff --git a/src/shared/libosmocore/src/timer.c b/src/shared/libosmocore/src/timer.c index 6d4abc2..c9a24f8 100644 --- a/src/shared/libosmocore/src/timer.c +++ b/src/shared/libosmocore/src/timer.c @@ -119,7 +119,7 @@ * \return 1 if pending, 0 otherwise * * This function can be used to determine whether a given timer - * has alredy expired (returns 0) or is still pending (returns 1) + * has already expired (returns 0) or is still pending (returns 1) */ int osmo_timer_pending(struct osmo_timer_list *timer) { @@ -174,7 +174,7 @@ if (timercmp(cand, current, >)) timersub(cand, current, &nearest); else { - /* loop again inmediately */ + /* loop again immediately */ nearest.tv_sec = 0; nearest.tv_usec = 0; } diff --git a/src/shared/libosmocore/src/utils.c b/src/shared/libosmocore/src/utils.c index cf0c934..7c05879 100644 --- a/src/shared/libosmocore/src/utils.c +++ b/src/shared/libosmocore/src/utils.c @@ -37,7 +37,7 @@ /*! \brief get numeric value for given human-readable string * \param[in] vs Array of value_string tuples * \param[in] str human-readable string - * \returns numeric value (>0) or negative numer in case of error + * \returns numeric value (>0) or negative number in case of error */ int get_string_value(const struct value_string *vs, const char *str) { diff --git a/src/shared/libosmocore/src/vty/buffer.c b/src/shared/libosmocore/src/vty/buffer.c index e385f9f..88b1044 100644 --- a/src/shared/libosmocore/src/vty/buffer.c +++ b/src/shared/libosmocore/src/vty/buffer.c @@ -59,7 +59,7 @@ /* It should always be true that: 0 <= sp <= cp <= size */ /* Default buffer size (used if none specified). It is rounded up to the - next page boundery. */ + next page boundary. */ #define BUFFER_SIZE_DEFAULT 4096 #define BUFFER_DATA_FREE(D) talloc_free((D)) diff --git a/src/shared/libosmocore/src/vty/command.c b/src/shared/libosmocore/src/vty/command.c index 7f83a5e..929127d 100644 --- a/src/shared/libosmocore/src/vty/command.c +++ b/src/shared/libosmocore/src/vty/command.c @@ -1790,7 +1790,7 @@ } else index = vector_active(vline) - 1; - /* First, filter by preceeding command string */ + /* First, filter by preceding command string */ for (i = 0; i < index; i++) if ((command = vector_slot(vline, i))) { enum match_type match; @@ -2115,7 +2115,7 @@ ret = cmd_execute_command_real(vline, vty, cmd); tried = 1; if (ret == CMD_SUCCESS || ret == CMD_WARNING) { - /* succesfull command, leave the node as is */ + /* successful command, leave the node as is */ return ret; } } @@ -2240,7 +2240,7 @@ return (*matched_element->func) (matched_element, vty, argc, argv); } -/* Configration make from file. */ +/* Configuration make from file. */ int config_from_file(struct vty *vty, FILE * fp) { int ret; @@ -2272,7 +2272,7 @@ return CMD_SUCCESS; } -/* Configration from terminal */ +/* Configuration from terminal */ DEFUN(config_terminal, config_terminal_cmd, "configure terminal", diff --git a/src/shared/libosmocore/src/vty/logging_vty.c b/src/shared/libosmocore/src/vty/logging_vty.c index 6029d58..7d87bc3 100644 --- a/src/shared/libosmocore/src/vty/logging_vty.c +++ b/src/shared/libosmocore/src/vty/logging_vty.c @@ -269,7 +269,7 @@ gDEFUN(cfg_description, cfg_description_cmd, "description .TEXT", - "Save human-readable decription of the object\n" + "Save human-readable description of the object\n" "Text until the end of the line\n") { char **dptr = vty->index_sub; diff --git a/src/shared/libosmocore/src/vty/vty.c b/src/shared/libosmocore/src/vty/vty.c index cafe202..e7db2c7 100644 --- a/src/shared/libosmocore/src/vty/vty.c +++ b/src/shared/libosmocore/src/vty/vty.c @@ -358,7 +358,7 @@ if (f) { while (fgets(buf, sizeof(buf), f)) { char *s; - /* work backwards to ignore trailling isspace() */ + /* work backwards to ignore trailing isspace() */ for (s = buf + strlen(buf); (s > buf) && isspace(*(s - 1)); s--) ; *s = '\0'; @@ -851,7 +851,7 @@ vty->cp = 0; } -/* Delete a charcter at the current point. */ +/* Delete a character at the current point. */ static void vty_delete_char(struct vty *vty) { int i; diff --git a/src/target/firmware/apps/rssi/main.c b/src/target/firmware/apps/rssi/main.c index 5020486..e137806 100644 --- a/src/target/firmware/apps/rssi/main.c +++ b/src/target/firmware/apps/rssi/main.c @@ -1260,7 +1260,7 @@ /* Main Program */ const char *hr = "======================================================================\n"; -/* match request reference agains request history */ +/* match request reference against request history */ static int gsm48_match_ra(struct gsm48_req_ref *ref) { uint8_t ia_t1, ia_t2, ia_t3; diff --git a/src/target/firmware/board/compal/highram.lds b/src/target/firmware/board/compal/highram.lds index 9309d83..f2e04a3 100644 --- a/src/target/firmware/board/compal/highram.lds +++ b/src/target/firmware/board/compal/highram.lds @@ -16,7 +16,7 @@ XRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000 /* highram binary single big zone with all rest of internal SRAM */ /* -> our text, initialized data */ - /* -> our unitialized data, stacks, heap */ + /* -> our uninitialized data, stacks, heap */ RAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00030000 } SECTIONS diff --git a/src/target/firmware/board/compal/ram.lds b/src/target/firmware/board/compal/ram.lds index 4f08a83..ed7bb62 100644 --- a/src/target/firmware/board/compal/ram.lds +++ b/src/target/firmware/board/compal/ram.lds @@ -12,7 +12,7 @@ /* compal-loaded binary: our text, initialized data */ /* (only this zone can contain loaded data since loader is 64k limit) */ LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00010000 - /* compal-loaded binary: our unitialized data, stacks, heap */ + /* compal-loaded binary: our uninitialized data, stacks, heap */ IRAM (rw) : ORIGIN = 0x00810000, LENGTH = 0x00030000 } SECTIONS diff --git a/src/target/firmware/board/mediatek/ram.lds b/src/target/firmware/board/mediatek/ram.lds index 7083c27..84568cf 100644 --- a/src/target/firmware/board/mediatek/ram.lds +++ b/src/target/firmware/board/mediatek/ram.lds @@ -12,7 +12,7 @@ { /* mtk-loaded binary: our text, initialized data */ LRAM (rw) : ORIGIN = 0x40000000, LENGTH = 0x00006000 - /* mtk-loaded binary: our unitialized data, stacks, heap */ + /* mtk-loaded binary: our uninitialized data, stacks, heap */ IRAM (rw) : ORIGIN = 0x40006000, LENGTH = 0x00006000 } SECTIONS diff --git a/src/target/firmware/calypso/sim.c b/src/target/firmware/calypso/sim.c index 752628f..dc5885c 100644 --- a/src/target/firmware/calypso/sim.c +++ b/src/target/firmware/calypso/sim.c @@ -58,7 +58,7 @@ #define L3_MSG_HEAD 4 static uint8_t sim_data[256]; /* buffer for SIM command */ -static volatile uint16_t sim_len = 0; /* lenght of data in sim_data[] */ +static volatile uint16_t sim_len = 0; /* length of data in sim_data[] */ static volatile uint8_t sim_state = SIM_STATE_IDLE; /* current state of SIM process */ static volatile uint8_t sim_ignore_waiting_char = 0; diff --git a/src/target/firmware/comm/sercomm.c b/src/target/firmware/comm/sercomm.c index 490e225..cebd37d 100644 --- a/src/target/firmware/comm/sercomm.c +++ b/src/target/firmware/comm/sercomm.c @@ -182,7 +182,7 @@ sercomm_unlock(&flags); return 1; } else { - /* no more data avilable */ + /* no more data available */ sercomm_unlock(&flags); return 0; } diff --git a/src/target/firmware/fb/fb_rgb332.c b/src/target/firmware/fb/fb_rgb332.c index 08d64e1..569ccc7 100644 --- a/src/target/firmware/fb/fb_rgb332.c +++ b/src/target/firmware/fb/fb_rgb332.c @@ -144,7 +144,7 @@ int t,tmax; /* counter for steps */ int err_inc,err_accu=0; /* error delta and accumulator for */ - /* Brensenham's algorhithm */ + /* Brensenham's algorithm */ fb_limit_fb_range(&x1,&y1); fb_limit_fb_range(&x2,&y2); diff --git a/src/target/firmware/fb/fb_s6b33b1x.c b/src/target/firmware/fb/fb_s6b33b1x.c index 788ada7..e36c547 100644 --- a/src/target/firmware/fb/fb_s6b33b1x.c +++ b/src/target/firmware/fb/fb_s6b33b1x.c @@ -72,7 +72,7 @@ { DATA, 0x0a }, /* DATA: fPCK = fOSC/6 */ { CMD, 0x2a }, /* CMD Contrast Control */ { DATA, 0x2d }, /* DATA: default contrast */ - { CMD, 0x30 }, /* CMD Adressing mode set */ + { CMD, 0x30 }, /* CMD Addressing mode set */ { DATA, 0x0b }, /* DATA: 65536 color mode */ { CMD, 0x10 }, /* CMD Driver output mode set */ { DATA, 0x03 }, /* DATA: Display duty: 1/132 */ diff --git a/src/target/firmware/include/abb/twl3025.h b/src/target/firmware/include/abb/twl3025.h index 938a425..727bde0 100755 --- a/src/target/firmware/include/abb/twl3025.h +++ b/src/target/firmware/include/abb/twl3025.h @@ -122,7 +122,7 @@ enum togbr2_bits { TOGBR2_KEEPR = (1 << 0), /* Clear KEEPON bit */ TOGBR2_KEEPS = (1 << 1), /* Set KEEPON bit */ - TOGBR2_ACTR = (1 << 2), /* Dectivate MCLK */ + TOGBR2_ACTR = (1 << 2), /* Deactivate MCLK */ TOGBR2_ACTS = (1 << 3), /* Activate MCLK */ TOGBR2_IBUFPTR1 = (1 << 4), /* Initialize pointer of burst buffer 1 */ TOGBR2_IBUFPTR2 = (1 << 5), /* Initialize pointer of burst buffer 2 */ diff --git a/src/target/firmware/include/calypso/dsp_api.h b/src/target/firmware/include/calypso/dsp_api.h index f9751f3..234964f 100644 --- a/src/target/firmware/include/calypso/dsp_api.h +++ b/src/target/firmware/include/calypso/dsp_api.h @@ -45,7 +45,7 @@ API d_task_ra; // (7) RA task command. API d_fn; // (8) FN, in Rep. period and FN%104, used for TRAFFIC/TCH only. // bit [0..7] -> b_fn_report, FN in the normalized reporting period. - // bit [8..15] -> b_fn_sid, FN % 104, used for SID positionning. + // bit [8..15] -> b_fn_sid, FN % 104, used for SID positioning. API d_ctrl_tch; // (9) Tch channel description. // bit [0..3] -> b_chan_mode, channel mode. // bit [4..5] -> b_chan_type, channel type. @@ -72,7 +72,7 @@ // word 1, bit [0..11] -> T1. API d_power_ctl; // (14) Power level control. API d_afc; // (15) AFC value (enabled by "b_afc" in "d_ctrl_TCM4400 or in d_ctrl_abb"). - API d_ctrl_system; // (16) Controle Register for RESET/RESUME. + API d_ctrl_system; // (16) Control Register for RESET/RESUME. // bit [0..2] -> b_tsq, training sequence. // bit [3] -> b_bcch_freq_ind, BCCH frequency indication. // bit [15] -> b_task_abort, DSP task abort command. @@ -264,7 +264,7 @@ // Speech Recognition module API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task API d_sr_db_level; // estimate voice level in dB @@ -608,7 +608,7 @@ // Speech Recognition module API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task API d_sr_db_level; // estimate voice level in dB @@ -766,7 +766,7 @@ // The size of this buffer is 15 word but some speech reco words // are overlayer with this buffer. This is the reason why the size is 3 instead of 15. API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API sr_hole1; // hole API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task @@ -989,7 +989,7 @@ // The size of this buffer is 15 word but some speech reco words // are overlayer with this buffer. This is the reason why the size is 3 instead of 15. API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API sr_hole1; // hole API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task diff --git a/src/target/firmware/include/calypso/l1_environment.h b/src/target/firmware/include/calypso/l1_environment.h index d4d442c..d49866e 100644 --- a/src/target/firmware/include/calypso/l1_environment.h +++ b/src/target/firmware/include/calypso/l1_environment.h @@ -90,9 +90,9 @@ // bits in d_gsm_bgd_mgt - background task management #define B_DSPBGD_RECO 1 // start of reco in dsp background -#define B_DSPBGD_UPD 2 // start of alignement update in dsp background +#define B_DSPBGD_UPD 2 // start of alignment update in dsp background #define B_DSPBGD_STOP_RECO 256 // stop of reco in dsp background -#define B_DSPBGD_STOP_UPD 512 // stop of alignement update in dsp background +#define B_DSPBGD_STOP_UPD 512 // stop of alignment update in dsp background // bit in d_pll_config #define B_32KHZ_CALIB (1 << 14) // force DSP in Idle1 during 32 khz calibration diff --git a/src/target/firmware/include/calypso/sim.h b/src/target/firmware/include/calypso/sim.h index 5e33bdb..8f627b1 100755 --- a/src/target/firmware/include/calypso/sim.h +++ b/src/target/firmware/include/calypso/sim.h @@ -160,7 +160,7 @@ /* APDU transmission modes */ #define SIM_APDU_PUT 0 /* Transmit a data body to the card */ -#define SIM_APDU_GET 1 /* Fetch data from the card eg. GET RESOPNSE */ +#define SIM_APDU_GET 1 /* Fetch data from the card eg. GET RESPONSE */ void calypso_sim_init(void); /* Initialize simcard interface */ diff --git a/src/target/firmware/include/fb/fb_bw8.h b/src/target/firmware/include/fb/fb_bw8.h index c77fa71..d84f91a 100644 --- a/src/target/firmware/include/fb/fb_bw8.h +++ b/src/target/firmware/include/fb/fb_bw8.h @@ -3,7 +3,7 @@ /* 8bit monochrome framebuffer, organized with 8 stacked pixels per byte, backed by local memory. fb_bw8.c lists functions that - are common to simmilar organized displays. */ + are common to similar organized displays. */ /* Sketch of Memory Layout diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h index 3565ee2..daf998b 100644 --- a/src/target/firmware/include/layer1/sync.h +++ b/src/target/firmware/include/layer1/sync.h @@ -15,7 +15,7 @@ uint8_t bsic; /* Combined or non-combined CCCH */ uint8_t ccch_mode; /* enum ccch_mode */ - /* whats the delta of the cells current GSM frame number + /* what's the delta of the cells current GSM frame number * compared to our current local frame number */ int32_t fn_offset; /* how much does the TPU need adjustment (delta) to synchronize diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c index e78020d..f55e670 100644 --- a/src/target/firmware/layer1/l23_api.c +++ b/src/target/firmware/layer1/l23_api.c @@ -570,7 +570,7 @@ struct l1ctl_traffic_req *tr = (struct l1ctl_traffic_req *) ul->payload; int num = 0; - /* printd("L1CTL_TRAFFIC_REQ\n"); */ /* Very verbose, can overwelm serial */ + /* printd("L1CTL_TRAFFIC_REQ\n"); */ /* Very verbose, can overwhelm serial */ msg->l2h = tr->data; diff --git a/src/target/firmware/layer1/prim_fbsb.c b/src/target/firmware/layer1/prim_fbsb.c index 50acefc..8eaeb5a 100644 --- a/src/target/firmware/layer1/prim_fbsb.c +++ b/src/target/firmware/layer1/prim_fbsb.c @@ -234,7 +234,7 @@ synchronize_tdma(&l1s.serving_cell); - /* if we have recived a SYNC burst, update our local GSM time */ + /* if we have received a SYNC burst, update our local GSM time */ gsm_fn2gsmtime(&l1s.current_time, fbs.mon.time.fn + SB2_LATENCY); /* compute next time from new current time */ l1s.next_time = l1s.current_time; @@ -532,7 +532,7 @@ return; } - /* FIME: use l1s.neigh_cell[fbs.cinfo_idx] */ + /* FIXME: use l1s.neigh_cell[fbs.cinfo_idx] */ fbinfo2cellinfo(&l1s.serving_cell, last_fb); /* send FBSB_CONF success message via L1CTL */ diff --git a/src/target/firmware/layer1/prim_tch.c b/src/target/firmware/layer1/prim_tch.c index a8036d2..0254654 100644 --- a/src/target/firmware/layer1/prim_tch.c +++ b/src/target/firmware/layer1/prim_tch.c @@ -607,7 +607,7 @@ * ------------------------------------------------------------------------- */ /* - * SACCH data are spread over 4 bursts, however they are so far appart that + * SACCH data are spread over 4 bursts, however they are so far apart that * we can't use the normal scheduler to schedule all them at once in a single * set. * Therefore, the task code itself decides in which burst it is, if it's the diff --git a/src/target/firmware/layer1/sync.c b/src/target/firmware/layer1/sync.c index 36f4297..b1eedd0 100644 --- a/src/target/firmware/layer1/sync.c +++ b/src/target/firmware/layer1/sync.c @@ -168,7 +168,7 @@ dsp_api.ndb->d_dsp_page = 0; /* we have to really reset the TPU, otherwise FB detection - * somtimes returns wrong TOA values. */ + * sometimes returns wrong TOA values. */ tpu_reset(1); tpu_reset(0); tpu_rewind(); diff --git a/src/target/firmware/lib/vsprintf.c b/src/target/firmware/lib/vsprintf.c index 80e8c1a..8e92e2a 100644 --- a/src/target/firmware/lib/vsprintf.c +++ b/src/target/firmware/lib/vsprintf.c @@ -615,7 +615,7 @@ while(*fmt && *str) { /* skip any white space in format */ - /* white space in format matchs any amount of + /* white space in format matches any amount of * white space, including none, in the input. */ if (isspace(*fmt)) { diff --git a/src/target/firmware/rf/trf6151.c b/src/target/firmware/rf/trf6151.c index 9de2cc8..ec13928 100644 --- a/src/target/firmware/rf/trf6151.c +++ b/src/target/firmware/rf/trf6151.c @@ -300,8 +300,8 @@ /* Low band. We have 3 possible PLL modes that output on * the right port: GSM900, GSM850_HIGH, GSM850_LOW. * - * The transistion points have been chosen looking at the VCO - * and IF frequencies for various frequencies for theses modes + * The transition points have been chosen looking at the VCO + * and IF frequencies for various frequencies for these modes */ if (freq_khz < 837100) { /* GSM850_LOW */ diff --git a/src/target/trx_toolkit/data_dump.py b/src/target/trx_toolkit/data_dump.py index da42023..b91408f 100644 --- a/src/target/trx_toolkit/data_dump.py +++ b/src/target/trx_toolkit/data_dump.py @@ -94,7 +94,7 @@ # True in case of success, # or False in case of EOF or header parsing error. def _seek2msg(self, idx): - # Seek to the begining of the capture + # Seek to the beginning of the capture self.f.seek(0) # Read the capture in loop... @@ -161,7 +161,7 @@ # or None in case of EOF or header parsing error, # or False in case of message parsing error or out of range. def parse_msg(self, idx): - # Move descriptor to the begining of requested message + # Move descriptor to the beginning of requested message rc = self._seek2msg(idx) if not rc: log.error("Couldn't find requested message") @@ -179,7 +179,7 @@ # Should we skip some messages? if skip is None: - # Seek to the begining of the capture + # Seek to the beginning of the capture self.f.seek(0) else: rc = self._seek2msg(skip) diff --git a/src/target_dsp/calypso/dump2coff.py b/src/target_dsp/calypso/dump2coff.py index c05a0ff..17ff9fa 100755 --- a/src/target_dsp/calypso/dump2coff.py +++ b/src/target_dsp/calypso/dump2coff.py @@ -104,7 +104,7 @@ sptr, # long int s_scnptr; /* File pointer to raw data */ 0, # long int s_relptr; /* File pointer to relocation entries */ 0, # long int s_lnnoptr;/* File pointer to line number entries */ - 0, # unsigned short s_nreloc; /* Number of relocation entrie */ + 0, # unsigned short s_nreloc; /* Number of relocation entries */ 0, # unsigned short s_nlnno; /* Number of line number entries */ s.flags,# unsigned short s_flags; /* Flags (see ``Section header flags'') */ '\x00', # / -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Oct 13 17:16:47 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 13 Oct 2019 17:16:47 +0000 Subject: Change in osmo-bts[master]: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15790 ) Change subject: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS ...................................................................... Rename variable: CALIB_SUCESS -> CALIB_SUCCESS Correct the name of this variable. Change-Id: I75cb6404d772b79933d1d9d694abf8eff1fad020 --- M src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/90/15790/1 diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c index a0ba649..d769ce7 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c @@ -54,7 +54,7 @@ CALIB_FAIL_START, CALIB_FAIL_GPS, CALIB_FAIL_CTRL, - CALIB_SUCESS, + CALIB_SUCCESS, }; static inline int compat_gps_read(struct gps_data_t *data) @@ -271,7 +271,7 @@ * and in case of a failure in some minutes. */ int timeout = 2 * 60 * 60; - if (outcome != CALIB_SUCESS) + if (outcome != CALIB_SUCCESS) timeout = 5 * 60; mgr->calib.calib_timeout.data = mgr; @@ -390,7 +390,7 @@ LOGP(DCALIB, LOGL_NOTICE, "Calibration process completed\n"); - calib_state_reset(mgr, CALIB_SUCESS); + calib_state_reset(mgr, CALIB_SUCCESS); } static void handle_ctrl(struct sysmobts_mgr_instance *mgr, struct msgb *msg) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I75cb6404d772b79933d1d9d694abf8eff1fad020 Gerrit-Change-Number: 15790 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Oct 13 17:21:50 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 13 Oct 2019 17:21:50 +0000 Subject: Change in osmocom-bb[master]: Fix typo: miliseconds -> milliseconds References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15791 ) Change subject: Fix typo: miliseconds -> milliseconds ...................................................................... Fix typo: miliseconds -> milliseconds Change-Id: I472c12fd1dfbff4ca1ead972535d735857f1c3e7 --- M src/target/firmware/include/comm/timer.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/91/15791/1 diff --git a/src/target/firmware/include/comm/timer.h b/src/target/firmware/include/comm/timer.h index 1996f66..d43b067 100644 --- a/src/target/firmware/include/comm/timer.h +++ b/src/target/firmware/include/comm/timer.h @@ -61,7 +61,7 @@ * timer management */ void osmo_timer_add(struct osmo_timer_list *timer); -void osmo_timer_schedule(struct osmo_timer_list *timer, int miliseconds); +void osmo_timer_schedule(struct osmo_timer_list *timer, int milliseconds); void osmo_timer_del(struct osmo_timer_list *timer); int osmo_timer_pending(struct osmo_timer_list *timer); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I472c12fd1dfbff4ca1ead972535d735857f1c3e7 Gerrit-Change-Number: 15791 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Oct 13 19:04:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 13 Oct 2019 19:04:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 ) Change subject: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U ...................................................................... BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U This test case is aimed to verify handling of both PTCCH/U and PTCCH/D logical channels, recently implemented in [1]. This is done by sending 16 Access Bursts on PTCCH/U, and then by sending a random data block on PTCCH/D. The existing TC_pcu_data_req_ptcch does not cover PTCCH/U, and moreover involves TBF handling which has nothing to do with PTCCH. Let's keep it anyway. [1] I232e5f514fbad2c51daaa59ff516004aba97c8a3 Change-Id: I011ffdfa63b698ce6085968d15ffb4ff4bd23ee5 Related: OS#4102 --- M bts/BTS_Tests.ttcn M library/GSM_Types.ttcn 2 files changed, 105 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/92/15792/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2c11ca2..2d0115b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4143,6 +4143,7 @@ f_pcu_to_l1(0, 0, 7, PCU_IF_SAPI_PDTCH, data); //c_PCU_DATA); } +/* FIXME: PTTCH has nothing to do with TBFs */ testcase TC_pcu_data_req_ptcch() runs on test_CT { var TfiUsfArr tua := f_TfiUsfArrInit(); var octetstring data := '0000'O & f_rnd_octstring(21); @@ -4157,6 +4158,94 @@ f_pcu_to_l1(0, 0, 7, PCU_IF_SAPI_PTCCH, data); } +private function f_TC_pcu_ptcch_ul(uint16_t ra) +runs on test_CT { + var template PCUIF_Message pcu_rach_ind; + var PCUIF_send_data sd; + var GsmFrameNumber fn; + timer T; + + /* Send an Access Burst on PTCCH/U over the Um-interface */ + fn := f_L1CTL_RACH(L1CTL, ra := ra, combined := 0, offset := 0, + chan_nr := ts_RslChanNr_PDCH(7), + link_id := ts_RslLinkID_OSMO_PTCCH(0)); + + /* TODO: check time-slot and TRX number as soon as we extend the PCU interface */ + pcu_rach_ind := tr_PCUIF_RACH_IND(ra := ra, fn := fn, sapi := PCU_IF_SAPI_PTCCH); + + /* Expect a RACH.ind on the PCU interface (timeout is one multi-frame) */ + T.start(52.0 * 4.615 / 1000.0); + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, pcu_rach_ind)) -> value sd { + log("Rx an Access Burst on the PCU interface: ", sd.data); + setverdict(pass); + T.stop; + } + [] PCU.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for RACH.ind on the PCU interface"); + /* Keep going, that's not the end of the world */ + } + } +} + +testcase TC_pcu_ptcch() runs on test_CT { + var L1ctlDlMessage dl; + var octetstring data; + timer T; + + f_init_pcu_test(); + f_init_l1ctl(); + f_l1_tune(L1CTL); + + /* Activate PDCH channel on TS7 */ + f_TC_pcu_act_req(0, 0, 7, true); + + /* Tune trxcon to that PDCH channel */ + L1CTL.send(ts_L1CTL_DM_EST_REQ(arfcn := { false, mp_trx0_arfcn }, + chan_nr := valueof(ts_RslChanNr_PDCH(7)), + tsc := 7)); + + /* Verify PTCCH/U: send several access bursts, make sure they're received */ + for (var integer i := 0; i < 16; i := i + 1) { + log("Sending an Access Burst towards the L1CTL interface"); + f_TC_pcu_ptcch_ul(oct2int(f_rnd_ra_ps())); + } + + /* Generate a random payload for PTCCH/D (23 octets, CS-1) */ + data := f_rnd_octstring(23); + + /* Verify PTCCH/D: send a random data block, make sure it's received */ + log("Sending a PTCCH/D block towards the PCU interface: ", data); + f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PTCCH, data); + + /* PTCCH/D period is 2 multi-frames (2 * 52 * 4.615 ms), but + * let's give it more time in case if we miss the beginning. */ + T.start(2.0 * 2.0 * 52.0 * 4.615 / 1000.0); + alt { + /* PDCH is considered as traffic in trxcon => expect TRAFFIC.ind */ + [] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(chan_nr := t_RslChanNr_PDCH(7), + link_id := tr_RslLinkID_OSMO_PTCCH(?), + frame := data)) -> value dl { + log("Rx PTCCH/D data (traffic) block on L1CTL: ", dl); + setverdict(pass); + T.stop; + } + /* Other PHYs (e.g. virt_phy) may consider PDCH as data => expect DATA.ind */ + [] L1CTL.receive(tr_L1CTL_DATA_IND(chan_nr := t_RslChanNr_PDCH(7), + link_id := tr_RslLinkID_OSMO_PTCCH(?), + l2_data := data)) -> value dl { + log("Rx PTCCH/D data block on L1CTL: ", dl); + setverdict(pass); + T.stop; + } + [] L1CTL.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for DATA.ind on L1CTL"); + } + } +} + /* Send AGCH from PCU; check it appears on Um side */ testcase TC_pcu_data_req_agch() runs on test_CT { timer T := 3.0; @@ -6251,6 +6340,7 @@ execute( TC_pcu_deact_req_wrong_ts() ); execute( TC_pcu_ver_si13() ); if (mp_l1_supports_gprs) { + execute( TC_pcu_ptcch() ); execute( TC_pcu_data_req_pdtch() ); execute( TC_pcu_data_req_ptcch() ); execute( TC_pcu_data_req_wrong_bts() ); diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn index ec74ce5..ee6d132 100644 --- a/library/GSM_Types.ttcn +++ b/library/GSM_Types.ttcn @@ -158,7 +158,8 @@ /* TS 48.058 9.3.2 Link ID */ type enumerated RslLinkIdC { FACCH_SDCCH (0), - SACCH (1) + SACCH (1), + OSMO_PTCCH (2) /* Osmocom (trxcon) specific extension */ } with { variant "FIELDLENGTH(2)" }; type enumerated RslSapi0Prio { @@ -195,6 +196,12 @@ sapi := sapi }; + template RslLinkId tr_RslLinkID_OSMO_PTCCH(template GsmSapi sapi) modifies tr_RslLinkId := { + c := OSMO_PTCCH, + na := false, + sapi := sapi + }; + template (value) RslLinkId ts_RslLinkID_DCCH(GsmSapi sapi) := { c := FACCH_SDCCH, na := false, @@ -209,6 +216,13 @@ sapi := sapi }; + template (value) RslLinkId ts_RslLinkID_OSMO_PTCCH(GsmSapi sapi) := { + c := OSMO_PTCCH, + na := false, + prio := SAPI0_PRIO_NORMAL, + sapi := sapi + }; + function f_hex_is_odd_length(hexstring digits) return bitstring { if (lengthof(digits) rem 2 == 1) { return '1'B; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I011ffdfa63b698ce6085968d15ffb4ff4bd23ee5 Gerrit-Change-Number: 15792 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Oct 14 01:43:29 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 14 Oct 2019 01:43:29 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5da3d2d945465_5d032ab91c1285f480849c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 112s] | #define HAVE_DLFCN_H 1 [ 112s] | #define LT_OBJDIR ".libs/" [ 112s] | #define STDC_HEADERS 1 [ 112s] | #define HAVE_EXECINFO_H 1 [ 112s] | #define HAVE_SYS_SELECT_H 1 [ 112s] | #define HAVE_SYS_SOCKET_H 1 [ 112s] | #define HAVE_SYSLOG_H 1 [ 112s] | #define HAVE_CTYPE_H 1 [ 112s] | #define HAVE_LIBSCTP 1 [ 112s] | #define HAVE_PCAP_H 1 [ 112s] | [ 112s] | configure: exit 0 [ 112s] [ 112s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 112s] make[1]: *** [override_dh_auto_test] Error 1 [ 112s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 112s] debian/rules:13: recipe for target 'build' failed [ 112s] make: *** [build] Error 2 [ 112s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 112s] [ 112s] build34 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Mon Oct 14 01:43:20 UTC 2019. [ 112s] [ 112s] ### VM INTERACTION START ### [ 113s] Powering off. [ 113s] [ 99.579501] reboot: Power down [ 114s] ### VM INTERACTION END ### [ 114s] [ 114s] build34 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Mon Oct 14 01:43:22 UTC 2019. [ 114s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Oct 14 01:46:55 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 14 Oct 2019 01:46:55 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5da3d3aab34db_5d032ab91c1285f4808512@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: [ 118s] | #define HAVE_DLFCN_H 1 [ 118s] | #define LT_OBJDIR ".libs/" [ 118s] | #define STDC_HEADERS 1 [ 118s] | #define HAVE_EXECINFO_H 1 [ 118s] | #define HAVE_SYS_SELECT_H 1 [ 118s] | #define HAVE_SYS_SOCKET_H 1 [ 118s] | #define HAVE_SYSLOG_H 1 [ 118s] | #define HAVE_CTYPE_H 1 [ 118s] | #define HAVE_LIBSCTP 1 [ 118s] | #define HAVE_PCAP_H 1 [ 118s] | [ 118s] | configure: exit 0 [ 118s] [ 118s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 118s] make[1]: *** [override_dh_auto_test] Error 1 [ 118s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 118s] debian/rules:13: recipe for target 'build' failed [ 118s] make: *** [build] Error 2 [ 118s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 118s] [ 118s] lamb57 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Mon Oct 14 01:46:45 UTC 2019. [ 118s] [ 118s] ### VM INTERACTION START ### [ 119s] Powering off. [ 119s] [ 106.638743] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] lamb57 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Mon Oct 14 01:46:48 UTC 2019. [ 119s] -- 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 Oct 14 06:10:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 14 Oct 2019 06:10:25 +0000 Subject: Change in osmo-bts[master]: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15790 ) Change subject: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I75cb6404d772b79933d1d9d694abf8eff1fad020 Gerrit-Change-Number: 15790 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 14 Oct 2019 06:10: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 Oct 14 18:14:22 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Mon, 14 Oct 2019 18:14:22 +0000 Subject: Change in osmo-bts[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: roox has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14821 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: done; see: https://gerrit.osmocom.org/15788 https://gerrit.osmocom.org/15790 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I00ebf013104b55decbdd7f758756a19b220dc7b3 Gerrit-Change-Number: 14821 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 14 Oct 2019 18:14: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 Mon Oct 14 18:15:09 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Mon, 14 Oct 2019 18:15:09 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: roox has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14818 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: done; see: https://gerrit.osmocom.org/15791 https://gerrit.osmocom.org/15789 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I75df25d3bc2ecb4985bf6fefdde6e44b21bffed9 Gerrit-Change-Number: 14818 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 14 Oct 2019 18:15: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 Oct 14 18:15:31 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Mon, 14 Oct 2019 18:15:31 +0000 Subject: Change in osmo-trx[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: roox has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14819 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: done; see: https://gerrit.osmocom.org/15787 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8e0fe9d67d1e1e8dfce319610de63cde170694c5 Gerrit-Change-Number: 14819 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 14 Oct 2019 18:15: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 Mon Oct 14 20:23:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:23:38 +0000 Subject: Change in osmo-bts[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14821 ) Change subject: Fix common misspellings and typos ...................................................................... Abandoned Abandoning this one as https://gerrit.osmocom.org/#/c/osmo-bts/+/15788/ was uploaded with a different change-id -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I00ebf013104b55decbdd7f758756a19b220dc7b3 Gerrit-Change-Number: 14821 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 14 20:25:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:25:27 +0000 Subject: Change in osmo-bts[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15788 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I403b9029f57fec3fdec2c1e2cbeac0f6eab53f24 Gerrit-Change-Number: 15788 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:25: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 Oct 14 20:25:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:25:38 +0000 Subject: Change in osmo-bts[master]: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15790 ) Change subject: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I75cb6404d772b79933d1d9d694abf8eff1fad020 Gerrit-Change-Number: 15790 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 14 Oct 2019 20:25: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 Mon Oct 14 20:26:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:26:29 +0000 Subject: Change in osmo-trx[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14819 ) Change subject: Fix common misspellings and typos ...................................................................... Abandoned abandonign this one, as https://gerrit.osmocom.org/15787 was uploaded with different Change-Id. @roox: In the future, please upload using the same change-Id, this way it gets added as a new version of this patch/change, and not a completely separate one. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8e0fe9d67d1e1e8dfce319610de63cde170694c5 Gerrit-Change-Number: 14819 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 14 20:27:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:27:29 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14818 ) Change subject: Fix common misspellings and typos ...................................................................... Abandoned abandonign this one, as none of the new versions was uploaded with different Change-Id. @roox: In the future, please upload using the same change-Id, this way it gets added as a new version of this patch/change, and not a completely separate one. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I75df25d3bc2ecb4985bf6fefdde6e44b21bffed9 Gerrit-Change-Number: 14818 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 14 20:28:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:28:05 +0000 Subject: Change in osmo-trx[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15787 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4ec7accb1912c052b446be7c399bed32a8c62253 Gerrit-Change-Number: 15787 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:28: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 Oct 14 20:28:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:28:22 +0000 Subject: Change in osmocom-bb[master]: Fix typo: miliseconds -> milliseconds In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15791 ) Change subject: Fix typo: miliseconds -> milliseconds ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I472c12fd1dfbff4ca1ead972535d735857f1c3e7 Gerrit-Change-Number: 15791 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:28: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 Oct 14 20:29:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:29:22 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:29: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 Oct 14 20:30:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:30:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 ) Change subject: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I011ffdfa63b698ce6085968d15ffb4ff4bd23ee5 Gerrit-Change-Number: 15792 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:30: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 Oct 14 20:30:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:30:38 +0000 Subject: Change in osmo-bsc[master]: sigtran: Set default remote ip to localhost instead of null In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15780 ) Change subject: sigtran: Set default remote ip to localhost instead of null ...................................................................... sigtran: Set default remote ip to localhost instead of null NULL or 0.0.0.0 should actually not be used upon connect() calls. Whoever, it worked so far because osmo_sock_init2() calls getaddrinfo() on it which does the 0.0.0.0->127.0.0.1 translation. osmo-msc already passed 127.0.0.1 as default address, so let's do the same here. Change-Id: Ib0d33c66faab78e609742638425cb8a0c382406f --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 0bf48a7..543e6de 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -44,6 +44,7 @@ #define RESET_INTERVAL 1 /* sek */ #define SCCP_MSG_MAXSIZE 1024 #define CS7_POINTCODE_DEFAULT_OFFSET 2 +#define DEFAULT_ASP_REMOTE_IP "127.0.0.1" /* The SCCP stack will not assign connection IDs to us automatically, we * will do this ourselves using a counter variable, that counts one up @@ -514,7 +515,7 @@ default_pc = osmo_ss7_pointcode_parse(NULL, BSC_DEFAULT_PC); msc->a.sccp = osmo_sccp_simple_client_on_ss7_id(msc, msc->a.cs7_instance, msc_name, default_pc, - msc->a.asp_proto, 0, NULL, 0, NULL); + msc->a.asp_proto, 0, NULL, 0, DEFAULT_ASP_REMOTE_IP); if (!msc->a.sccp) return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0d33c66faab78e609742638425cb8a0c382406f Gerrit-Change-Number: 15780 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 Mon Oct 14 20:30:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:30:36 +0000 Subject: Change in osmo-bsc[master]: sigtran: Set default remote ip to localhost instead of null In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15780 ) Change subject: sigtran: Set default remote ip to localhost instead of null ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0d33c66faab78e609742638425cb8a0c382406f Gerrit-Change-Number: 15780 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:30: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 Oct 14 20:31:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:31:25 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_srv_link: Support setting multiple addr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15782 ) Change subject: stream: osmo_stream_srv_link: Support setting multiple addr ...................................................................... Patch Set 1: TODO-RELEASE due to ABI breakage? -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Gerrit-Change-Number: 15782 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:31: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 Oct 14 20:31:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:31:53 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_cli: Support setting multiple addr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15783 ) Change subject: stream: osmo_stream_cli: Support setting multiple addr ...................................................................... Patch Set 1: TODO-RELEASE due to ABI breakage? -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I09f0d989f2309abdeb304fe570355abed2cd107b Gerrit-Change-Number: 15783 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:31:53 +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 Oct 14 20:33:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:33:03 +0000 Subject: Change in libosmocore[master]: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15779 ) Change subject: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15779/1/src/tdef.c File src/tdef.c: https://gerrit.osmocom.org/c/libosmocore/+/15779/1/src/tdef.c at 259 PS1, Line 259: The number of characters printed on success this API doc snippet is no longer correct with your change, is it? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 Gerrit-Change-Number: 15779 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:33:03 +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 Oct 14 20:34:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:34:38 +0000 Subject: Change in libosmocore[master]: socket: Introduce API osmo_sock_init2_multiaddr() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15781 ) Change subject: socket: Introduce API osmo_sock_init2_multiaddr() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Gerrit-Change-Number: 15781 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:34: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 Mon Oct 14 20:36:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:36:21 +0000 Subject: Change in libosmo-sccp[master]: Defer xua server binding until exit of VTY node In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 ) Change subject: Defer xua server binding until exit of VTY node ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I2cff17b5e2e2fbfd4591e23a416e510e94e173d6 Gerrit-Change-Number: 15784 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:36: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 Mon Oct 14 20:37:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:37:42 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 ) Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:37: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 Oct 14 20:37:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 14 Oct 2019 20:37:59 +0000 Subject: Change in libosmo-sccp[master]: ss7: Log local and remote address set upon ASP restart In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 ) Change subject: ss7: Log local and remote address set upon ASP restart ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 Gerrit-Change-Number: 15786 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Oct 2019 20:37: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 Mon Oct 14 22:44:37 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 14 Oct 2019 22:44:37 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... vty: Simplify filler burst settings and improve help and readability. In the command line options time, filler table/filer burts settings were a bit difficult to undertand because the number of one-letter settings was limited. Now, with VTY configuration, there is no reason to keep it so difficult. Also, there was a mistake that enabling EDGE automatically enabled 8-PSK random filler bursts which is not a correct behavior. This mistake was probably introduced in an attempt to reproduce the original convoluted filler burst configuration logic. Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 --- M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/osmo-trx.cpp 3 files changed, 81 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/93/15793/1 diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index bac9653..acd0283 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -48,15 +48,25 @@ { 0, NULL } }; -static const struct value_string filler_names[] = { - { FILLER_DUMMY, "Dummy bursts" }, - { FILLER_ZERO, "Disabled" }, - { FILLER_NORM_RAND, "Normal bursts with random payload" }, - { FILLER_EDGE_RAND, "EDGE bursts with random payload" }, - { FILLER_ACCESS_RAND, "Access bursts with random payload" }, +const struct value_string filler_names[] = { + { FILLER_DUMMY, "Dummy bursts (C0 only)" }, + { FILLER_ZERO, "Empty bursts" }, + { FILLER_NORM_RAND, "GMSK Normal Bursts with random payload" }, + { FILLER_EDGE_RAND, "8-PSK Normal Bursts with random payload" }, + { FILLER_ACCESS_RAND, "Access Bursts with random payload" }, { 0, NULL } }; +static const struct value_string filler_types[] = { + { FILLER_DUMMY, "dummy" }, + { FILLER_ZERO, "zero" }, + { FILLER_NORM_RAND, "gmsk-rand" }, + { FILLER_EDGE_RAND, "8psk-rand" }, + { FILLER_ACCESS_RAND, "access-rand" }, + { 0, NULL } +}; + + struct trx_ctx *trx_from_vty(struct vty *v) { /* It can't hurt to force callers to continue to pass the vty instance @@ -172,53 +182,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_test_rtsc, cfg_test_rtsc_cmd, - "test rtsc <0-7>", - "Set the Random Normal Burst test mode with TSC\n" - "TSC\n") -{ - struct trx_ctx *trx = trx_from_vty(vty); - - if (trx->cfg.rach_delay_set) { - vty_out(vty, "rach-delay and rtsc options are mutual-exclusive%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - trx->cfg.rtsc_set = true; - trx->cfg.rtsc = atoi(argv[0]); - if (!trx->cfg.egprs) /* Don't override egprs which sets different filler */ - trx->cfg.filler = FILLER_NORM_RAND; - - return CMD_SUCCESS; -} - -DEFUN(cfg_test_rach_delay, cfg_test_rach_delay_cmd, - "test rach-delay <0-68>", - "Set the Random Access Burst test mode with delay\n" - "RACH delay\n") -{ - struct trx_ctx *trx = trx_from_vty(vty); - - if (trx->cfg.rtsc_set) { - vty_out(vty, "rach-delay and rtsc options are mutual-exclusive%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - if (trx->cfg.egprs) { - vty_out(vty, "rach-delay and egprs options are mutual-exclusive%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - trx->cfg.rach_delay_set = true; - trx->cfg.rach_delay = atoi(argv[0]); - trx->cfg.filler = FILLER_ACCESS_RAND; - - return CMD_SUCCESS; -} - DEFUN(cfg_clock_ref, cfg_clock_ref_cmd, "clock-ref (internal|external|gpsdo)", "Set the Reference Clock\n" @@ -305,7 +268,6 @@ trx->cfg.egprs = false; } else if (strcmp("enable", argv[0]) == 0) { trx->cfg.egprs = true; - trx->cfg.filler = FILLER_EDGE_RAND; } else { return CMD_WARNING; } @@ -352,14 +314,57 @@ return CMD_SUCCESS; } -DEFUN(cfg_filler, cfg_filler_cmd, - "filler dummy", - "Enable C0 filler table\n" - "Dummy method\n") +DEFUN(cfg_filler, cfg_filler_type_cmd, + "filler type (zero|dummy|gmsk-rand|8psk-rand|access-rand)", + "Filler burst settings\n" + "Filler burst type (default=zero)\n" + "Send an empty burst when there is nothing to send (default)\n" + "Send a dummy burst when there is nothing to send on C0 (TRX0) and empty burst on other channels." + " Use for OpenBTS compatibility only, don't use with OsmoBTS as it breaks encryption.\n" + "Send a GMSK modulated Normal Burst with random bits when there is nothing to send." + " Use for spectrum mask testing. Configure 'filler tsc' to set training sequence.\n" + "Send an 8-PSK modulated Normal Burst with random bits when there is nothing to send." + " Use for spectrum mask testing. Configure 'filler tsc' to set training sequence.\n" + "Send an Access Burst with random bits when there is nothing to send. Use for Rx/Tx alignment." + " Configure 'filler rach-delay' to introduce artificial delay.\n" +) +{ + struct trx_ctx *trx = trx_from_vty(vty); + // trx->cfg.filler is unsigned, so we need an interim int var to detect errors + int type = get_string_value(filler_types, argv[0]); + + if (type < 0) { + trx->cfg.filler = FILLER_ZERO; + return CMD_WARNING; + } + trx->cfg.filler = type; + + return CMD_SUCCESS; +} + +DEFUN(cfg_test_rtsc, cfg_filler_tsc_cmd, + "filler tsc <0-7>", + "Filler burst settings\n" + "Set the TSC for GMSK/8-PSK Normal Burst random fillers. Used only with 'gmsk-rand' and" + " '8psk-rand' filler types. (default=0)\n" + "TSC\n") { struct trx_ctx *trx = trx_from_vty(vty); - trx->cfg.filler = FILLER_DUMMY; + trx->cfg.rtsc = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN(cfg_test_rach_delay, cfg_filler_rach_delay_cmd, + "filler rach-delay <0-68>", + "Filler burst settings\n" + "Set the delay for Access Burst random fillers. Used only with 'access-rand' filler type. (default=0)\n" + "RACH delay in symbols\n") +{ + struct trx_ctx *trx = trx_from_vty(vty); + + trx->cfg.rach_delay = atoi(argv[0]); return CMD_SUCCESS; } @@ -547,10 +552,6 @@ vty_out(vty, " tx-sps %u%s", trx->cfg.tx_sps, VTY_NEWLINE); if (trx->cfg.rx_sps != DEFAULT_RX_SPS) vty_out(vty, " rx-sps %u%s", trx->cfg.rx_sps, VTY_NEWLINE); - if (trx->cfg.rtsc_set) - vty_out(vty, " test rtsc %u%s", trx->cfg.rtsc, VTY_NEWLINE); - if (trx->cfg.rach_delay_set) - vty_out(vty, " test rach-delay %u%s", trx->cfg.rach_delay, VTY_NEWLINE); if (trx->cfg.clock_ref != REF_INTERNAL) vty_out(vty, " clock-ref %s%s", get_value_string(clock_ref_names, trx->cfg.clock_ref), VTY_NEWLINE); vty_out(vty, " multi-arfcn %s%s", trx->cfg.multi_arfcn ? "enable" : "disable", VTY_NEWLINE); @@ -563,6 +564,12 @@ vty_out(vty, " ext-rach %s%s", trx->cfg.ext_rach ? "enable" : "disable", VTY_NEWLINE); if (trx->cfg.sched_rr != 0) vty_out(vty, " rt-prio %u%s", trx->cfg.sched_rr, VTY_NEWLINE); + if (trx->cfg.filler != FILLER_ZERO) + vty_out(vty, " filler type %s%s", get_value_string(filler_types, trx->cfg.filler), VTY_NEWLINE); + if (trx->cfg.rtsc > 0) + vty_out(vty, " filler tsc %u%s", trx->cfg.rtsc, VTY_NEWLINE); + if (trx->cfg.rach_delay > 0) + vty_out(vty, " filler rach-delay %u%s", trx->cfg.rach_delay, VTY_NEWLINE); if (trx->cfg.stack_size != 0) vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); @@ -590,11 +597,9 @@ vty_out(vty, " Device args: %s%s", trx->cfg.dev_args, VTY_NEWLINE); vty_out(vty, " Tx Samples-per-Symbol: %u%s", trx->cfg.tx_sps, VTY_NEWLINE); vty_out(vty, " Rx Samples-per-Symbol: %u%s", trx->cfg.rx_sps, VTY_NEWLINE); - vty_out(vty, " Test Mode: TSC: %u (%s)%s", trx->cfg.rtsc, - trx->cfg.rtsc_set ? "Enabled" : "Disabled", VTY_NEWLINE); - vty_out(vty, " Test Mode: RACH Delay: %u (%s)%s", trx->cfg.rach_delay, - trx->cfg.rach_delay_set ? "Enabled" : "Disabled", VTY_NEWLINE); - vty_out(vty, " C0 Filler Table: %s%s", get_value_string(filler_names, trx->cfg.filler), VTY_NEWLINE); + vty_out(vty, " Filler Burst Type: %s%s", get_value_string(filler_names, trx->cfg.filler), VTY_NEWLINE); + vty_out(vty, " Filler Burst TSC: %u%s", trx->cfg.rtsc, VTY_NEWLINE); + vty_out(vty, " Filler Burst RACH Delay: %u%s", trx->cfg.rach_delay, VTY_NEWLINE); vty_out(vty, " Clock Reference: %s%s", get_value_string(clock_ref_names, trx->cfg.clock_ref), VTY_NEWLINE); vty_out(vty, " Multi-Carrier: %s%s", trx->cfg.multi_arfcn ? "Enabled" : "Disabled", VTY_NEWLINE); vty_out(vty, " Tuning offset: %f%s", trx->cfg.offset, VTY_NEWLINE); @@ -663,6 +668,7 @@ static const char trx_copyright[] = "Copyright (C) 2007-2014 Free Software Foundation, Inc.\r\n" "Copyright (C) 2013 Thomas Tsou \r\n" + "Copyright (C) 2013-2019 Fairwaves, Inc.\r\n" "Copyright (C) 2015 Ettus Research LLC\r\n" "Copyright (C) 2017-2018 by sysmocom s.f.m.c. GmbH \r\n" "License AGPLv3+: GNU AGPL version 3 or later \r\n" @@ -705,8 +711,6 @@ install_element(TRX_NODE, &cfg_dev_args_cmd); install_element(TRX_NODE, &cfg_tx_sps_cmd); install_element(TRX_NODE, &cfg_rx_sps_cmd); - install_element(TRX_NODE, &cfg_test_rtsc_cmd); - install_element(TRX_NODE, &cfg_test_rach_delay_cmd); install_element(TRX_NODE, &cfg_clock_ref_cmd); install_element(TRX_NODE, &cfg_multi_arfcn_cmd); install_element(TRX_NODE, &cfg_offset_cmd); @@ -715,7 +719,9 @@ install_element(TRX_NODE, &cfg_egprs_cmd); install_element(TRX_NODE, &cfg_ext_rach_cmd); install_element(TRX_NODE, &cfg_rt_prio_cmd); - install_element(TRX_NODE, &cfg_filler_cmd); + install_element(TRX_NODE, &cfg_filler_type_cmd); + install_element(TRX_NODE, &cfg_filler_tsc_cmd); + install_element(TRX_NODE, &cfg_filler_rach_delay_cmd); install_element(TRX_NODE, &cfg_ctr_error_threshold_cmd); install_element(TRX_NODE, &cfg_no_ctr_error_threshold_cmd); install_element(TRX_NODE, &cfg_stack_size_cmd); diff --git a/CommonLibs/trx_vty.h b/CommonLibs/trx_vty.h index d939051..d20dd96 100644 --- a/CommonLibs/trx_vty.h +++ b/CommonLibs/trx_vty.h @@ -5,6 +5,7 @@ #include "config_defs.h" extern struct vty_app_info g_vty_info; +extern const struct value_string filler_names[]; /* Maximum number of physical RF channels */ #define TRX_CHAN_MAX 8 @@ -51,9 +52,7 @@ unsigned int tx_sps; unsigned int rx_sps; unsigned int rtsc; - bool rtsc_set; unsigned int rach_delay; - bool rach_delay_set; enum ReferenceType clock_ref; enum FillerType filler; bool multi_arfcn; diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 9fe6585..6fe78bb 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -334,14 +334,12 @@ break; case 'r': print_deprecated(option); - trx->cfg.rtsc_set = true; trx->cfg.rtsc = atoi(optarg); if (!trx->cfg.egprs) /* Don't override egprs which sets different filler */ trx->cfg.filler = FILLER_NORM_RAND; break; case 'A': print_deprecated(option); - trx->cfg.rach_delay_set = true; trx->cfg.rach_delay = atoi(optarg); trx->cfg.filler = FILLER_ACCESS_RAND; break; @@ -459,7 +457,9 @@ ost << " EDGE support............ " << trx->cfg.egprs << std::endl; ost << " Extended RACH support... " << trx->cfg.ext_rach << std::endl; ost << " Reference............... " << trx->cfg.clock_ref << std::endl; - ost << " C0 Filler Table......... " << trx->cfg.filler << std::endl; + ost << " Filler Burst Type....... " << get_value_string(filler_names, trx->cfg.filler) << std::endl; + ost << " Filler Burst TSC........ " << trx->cfg.rtsc << std::endl; + ost << " Filler Burst RACH Delay. " << trx->cfg.rach_delay << std::endl; ost << " Multi-Carrier........... " << trx->cfg.multi_arfcn << std::endl; ost << " Tuning offset........... " << trx->cfg.offset << std::endl; ost << " RSSI to dBm offset...... " << trx->cfg.rssi_offset << std::endl; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Oct 15 01:42:29 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 15 Oct 2019 01:42:29 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5da52415b963b_70a42b1017cde5f4366589@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 110s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] -sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18304 timestamp=847016806 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18305 timestamp=847016966 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18306 timestamp=847017126 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18307 timestamp=847017286 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18308 timestamp=847017446 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] sys={28.604242}, mono={5.180000}: clock_override_add [ 110s] -sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18309 timestamp=847017606 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 110s] sys={28.624242}, mono={5.200000}: clock_override_add [ 110s] sys={28.624242}, mono={5.200000}: OK: Test passed [ 110s] 2. testsuite.at:11: 2. osmux_test (testsuite.at:11): FAILED (testsuite.at:14) [ 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] lamb19 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Tue Oct 15 01:42:24 UTC 2019. [ 110s] [ 110s] ### VM INTERACTION START ### [ 111s] Powering off. [ 111s] [ 99.614169] reboot: Power down [ 111s] ### VM INTERACTION END ### [ 111s] [ 111s] lamb19 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Tue Oct 15 01:42:25 UTC 2019. [ 111s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Oct 15 01:51:19 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 15 Oct 2019 01:51:19 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5da5263035a5c_70a42b1017cde5f4367763@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: [ 162s] | #define HAVE_DLFCN_H 1 [ 162s] | #define LT_OBJDIR ".libs/" [ 162s] | #define STDC_HEADERS 1 [ 162s] | #define HAVE_EXECINFO_H 1 [ 162s] | #define HAVE_SYS_SELECT_H 1 [ 162s] | #define HAVE_SYS_SOCKET_H 1 [ 162s] | #define HAVE_SYSLOG_H 1 [ 162s] | #define HAVE_CTYPE_H 1 [ 162s] | #define HAVE_LIBSCTP 1 [ 162s] | #define HAVE_PCAP_H 1 [ 162s] | [ 162s] | configure: exit 0 [ 162s] [ 162s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 162s] make[1]: *** [override_dh_auto_test] Error 1 [ 162s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 162s] debian/rules:13: recipe for target 'build' failed [ 162s] make: *** [build] Error 2 [ 162s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 162s] [ 162s] lamb60 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Tue Oct 15 01:51:04 UTC 2019. [ 162s] [ 162s] ### VM INTERACTION START ### [ 163s] Powering off. [ 163s] [ 148.675724] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] lamb60 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Tue Oct 15 01:51:05 UTC 2019. [ 163s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Oct 15 01:56:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 15 Oct 2019 01:56:18 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at a197 PS1, Line 197: test rach-delay <0-68> I understand that these commands are kind of special, and not everybody uses them, but anyway we should not just remove them. Let's rather deprecate them using ALIAS_DEPRECATED or DEFUN_DEPRECATED. https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at a308 PS1, Line 308: trx->cfg.filler = FILLER_EDGE_RAND; Makes sense to send this fix as a separate patch. https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at 63 PS1, Line 63: gmsk-rand Just an idea, not a merge blocker: GMSK is used for Access Bursts too. This may be a bit confusing. How about adding a prefix like 'nb-' or 'norm-'? https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at 360 PS1, Line 360: rach In general, this parameter has nothing to do with Random Access Channel. Maybe rather rename it to 'access-delay', so then it will be consistent with the values in value_string 'filler_types'? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 15 Oct 2019 01:56:18 +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 Oct 15 02:37:15 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 15 Oct 2019 02:37:15 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/15778 ) Change subject: ttcn3.sh: run ttcn3 testsuites from osmo-dev ...................................................................... Patch Set 2: instead of putting ttcn related scripts in src/, can they go in a separate dir? So far the scripts in src/ are related to managing source trees only. Maybe ttcn3.sh and the others can go in a ttcn3/ subdir below repos root, or maybe put all of them directly in the repos root? -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 15 Oct 2019 02:37: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 Tue Oct 15 09:29:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 09:29:30 +0000 Subject: Change in osmo-bts[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15788 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15788/1/src/common/bts.c File src/common/bts.c: https://gerrit.osmocom.org/c/osmo-bts/+/15788/1/src/common/bts.c at 672 PS1, Line 672: * \return 0 if the number of messages in the queue would fit into the AGCH Isn't this one an abreviation for "if and only if"? https://en.wikipedia.org/wiki/If_and_only_if But I guess it's also fine to use "if" here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I403b9029f57fec3fdec2c1e2cbeac0f6eab53f24 Gerrit-Change-Number: 15788 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 09:29: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 Tue Oct 15 09:49:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 09:49:22 +0000 Subject: Change in osmo-trx[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15787 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4ec7accb1912c052b446be7c399bed32a8c62253 Gerrit-Change-Number: 15787 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 09:49: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 Oct 15 09:49:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 09:49:49 +0000 Subject: Change in osmocom-bb[master]: Fix typo: miliseconds -> milliseconds In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15791 ) Change subject: Fix typo: miliseconds -> milliseconds ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I472c12fd1dfbff4ca1ead972535d735857f1c3e7 Gerrit-Change-Number: 15791 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 09:49: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 Oct 15 09:58:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 09:58:14 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/15789/1/src/host/layer23/src/misc/app_cbch_sniff.c File src/host/layer23/src/misc/app_cbch_sniff.c: https://gerrit.osmocom.org/c/osmocom-bb/+/15789/1/src/host/layer23/src/misc/app_cbch_sniff.c at 182 PS1, Line 182: /* don't do layer3_init() as we don't want an actually L3 */ This one should be "actual", not actually. Typo fix makes it worse ;) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 09:58: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 Tue Oct 15 10:18:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 10:18:25 +0000 Subject: Change in libosmocore[master]: socket: Introduce API osmo_sock_init2_multiaddr() 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/+/15781 to look at the new patch set (#2). Change subject: socket: Introduce API osmo_sock_init2_multiaddr() ...................................................................... socket: Introduce API osmo_sock_init2_multiaddr() This API will be used by libosmo-netif's osmo_stream for SCTP sockets, which in turn will be used by libosmo-sccp to support multi-homed connections. Related: OS#3608 Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 --- M configure.ac M debian/control M include/osmocom/core/socket.h M src/Makefile.am M src/socket.c 5 files changed, 307 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/15781/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Gerrit-Change-Number: 15781 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 Tue Oct 15 10:21:00 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 15 Oct 2019 10:21:00 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 1: Code-Review-1 I don't think we should touch a local copy of libosmocore here. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 10: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 Tue Oct 15 10:38:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 10:38:43 +0000 Subject: Change in osmo-ci[master]: jobs/master-builds.yml: Set node for master axis job References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15794 ) Change subject: jobs/master-builds.yml: Set node for master axis job ...................................................................... jobs/master-builds.yml: Set node for master axis job Otherwise the master job managing the axis can be run on any node, something which is not desirable. For instance, right now job master-osmo-ggsn is run on osmo-gsm-tester-rnd which is currently unable to fetch some git repositories. Let's avoid running master tests on unintended nodes. Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe --- M jobs/master-builds.yml 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/94/15794/1 diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 5a47028..854b991 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -5,7 +5,7 @@ # following default values can be overridden by each repo disabled: false concurrent: false - node: '' + node: 'osmocom-master-debian8' # axes related defaults slave_axis: !!python/tuple [osmocom-master-debian9] a1_name: a1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe Gerrit-Change-Number: 15794 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 Oct 15 10:39:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 10:39:33 +0000 Subject: Change in osmo-ci[master]: jobs/master-builds.yml: Set node for master axis job In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15794 ) Change subject: jobs/master-builds.yml: Set node for master axis job ...................................................................... Patch Set 1: Similar stuff is done for gerrit-builds already. Once reviewed by someone I'll setup jenkins with jenkins-job-builder. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe Gerrit-Change-Number: 15794 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 10:39:33 +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 Oct 15 11:04:39 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Oct 2019 11:04:39 +0000 Subject: Change in docker-playground[master]: Fix ttcn3-pcu-test-latest References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15795 ) Change subject: Fix ttcn3-pcu-test-latest ...................................................................... Fix ttcn3-pcu-test-latest Remove the gsmtap-categories that are unknown to the latest osmo-pcu release. Change-Id: I4ed750aaa728272fcda09fd23cf172db0e539aa8 --- M ttcn3-pcu-test/jenkins.sh 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/95/15795/1 diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 17d76b5..8c855f1 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -17,6 +17,13 @@ mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ +# Latest release of osmo-pcu (0.7.0) doesn't know some gsmtap categories +# This can be removed once a new osmo-pcu version is released +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "s/gsmtap-category dl-agch//g" -i $VOL_BASE_DIR/pcu/osmo-pcu.cfg + sed "s/gsmtap-category dl-pch//g" -i $VOL_BASE_DIR/pcu/osmo-pcu.cfg + sed "s/gsmtap-category ul-rach//g" -i $VOL_BASE_DIR/pcu/osmo-pcu.cfg +fi mkdir $VOL_BASE_DIR/unix -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4ed750aaa728272fcda09fd23cf172db0e539aa8 Gerrit-Change-Number: 15795 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 Oct 15 11:05:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:05:42 +0000 Subject: Change in libosmocore[master]: socket: Introduce API osmo_sock_init2_multiaddr() 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/+/15781 to look at the new patch set (#3). Change subject: socket: Introduce API osmo_sock_init2_multiaddr() ...................................................................... socket: Introduce API osmo_sock_init2_multiaddr() This API will be used by libosmo-netif's osmo_stream for SCTP sockets, which in turn will be used by libosmo-sccp to support multi-homed connections. Related: OS#3608 Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 --- M configure.ac M debian/control M include/osmocom/core/socket.h M src/Makefile.am M src/socket.c 5 files changed, 307 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/15781/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Gerrit-Change-Number: 15781 Gerrit-PatchSet: 3 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 Tue Oct 15 11:06:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:06:24 +0000 Subject: Change in docker-playground[master]: Fix ttcn3-pcu-test-latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15795 ) Change subject: Fix ttcn3-pcu-test-latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4ed750aaa728272fcda09fd23cf172db0e539aa8 Gerrit-Change-Number: 15795 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 11:06: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 Oct 15 11:07:21 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Oct 2019 11:07:21 +0000 Subject: Change in docker-playground[master]: Fix ttcn3-pcu-test-latest In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15795 ) Change subject: Fix ttcn3-pcu-test-latest ...................................................................... Patch Set 1: Verified+1 Tested and working locally -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4ed750aaa728272fcda09fd23cf172db0e539aa8 Gerrit-Change-Number: 15795 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 11:07: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 Oct 15 11:07:43 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Oct 2019 11:07:43 +0000 Subject: Change in docker-playground[master]: Fix ttcn3-pcu-test-latest In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15795 ) Change subject: Fix ttcn3-pcu-test-latest ...................................................................... Fix ttcn3-pcu-test-latest Remove the gsmtap-categories that are unknown to the latest osmo-pcu release. Change-Id: I4ed750aaa728272fcda09fd23cf172db0e539aa8 --- M ttcn3-pcu-test/jenkins.sh 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved daniel: Verified diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 17d76b5..8c855f1 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -17,6 +17,13 @@ mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ +# Latest release of osmo-pcu (0.7.0) doesn't know some gsmtap categories +# This can be removed once a new osmo-pcu version is released +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "s/gsmtap-category dl-agch//g" -i $VOL_BASE_DIR/pcu/osmo-pcu.cfg + sed "s/gsmtap-category dl-pch//g" -i $VOL_BASE_DIR/pcu/osmo-pcu.cfg + sed "s/gsmtap-category ul-rach//g" -i $VOL_BASE_DIR/pcu/osmo-pcu.cfg +fi mkdir $VOL_BASE_DIR/unix -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4ed750aaa728272fcda09fd23cf172db0e539aa8 Gerrit-Change-Number: 15795 Gerrit-PatchSet: 1 Gerrit-Owner: daniel 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 Tue Oct 15 11:08:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:08:47 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_srv_link: Support setting multiple addr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15782 ) Change subject: stream: osmo_stream_srv_link: Support setting multiple addr ...................................................................... Patch Set 1: There's no ABI breakage in this case. However, since it's using a new libosmocore API not yet released, I'll add a comment in TODO-RELEASE to remember to bump to new libosmocore dependency version when we release. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Gerrit-Change-Number: 15782 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Oct 2019 11:08: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 Tue Oct 15 11:09:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:09:40 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_cli: Support setting multiple addr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15783 ) Change subject: stream: osmo_stream_cli: Support setting multiple addr ...................................................................... Patch Set 1: Same here as previous commit. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I09f0d989f2309abdeb304fe570355abed2cd107b Gerrit-Change-Number: 15783 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 15 Oct 2019 11:09: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 Oct 15 11:11:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:11:57 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_srv_link: Support setting multiple addr 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/+/15782 to look at the new patch set (#2). Change subject: stream: osmo_stream_srv_link: Support setting multiple addr ...................................................................... stream: osmo_stream_srv_link: Support setting multiple addr This API will be later used to set multiple addresses for SCTP sockets. Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Related: OS#3608 Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a --- M TODO-RELEASE M include/osmocom/netif/stream.h M src/stream.c 3 files changed, 39 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/82/15782/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Gerrit-Change-Number: 15782 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Oct 15 11:15:28 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 15 Oct 2019 11:15:28 +0000 Subject: Change in osmo-ci[master]: jobs/master-builds.yml: Set node for master axis job In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15794 ) Change subject: jobs/master-builds.yml: Set node for master axis job ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe Gerrit-Change-Number: 15794 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 11:15: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 Oct 15 11:16:47 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 15 Oct 2019 11:16:47 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. 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/+/15793 to look at the new patch set (#2). Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... vty: Simplify filler burst settings and improve help and readability. In the command line options time, filler table/filer burts settings were a bit difficult to undertand because the number of one-letter settings was limited. Now, with VTY configuration, there is no reason to keep it so difficult. Also, after the previous commit it was no longer posible to enable random 8-PSK filler bursts. With this patch you can configure all supported filler bursts in a simple and logical way. Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 --- M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/osmo-trx.cpp 3 files changed, 81 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/93/15793/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 2 Gerrit-Owner: ipse 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 Tue Oct 15 11:16:48 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 15 Oct 2019 11:16:48 +0000 Subject: Change in osmo-trx[master]: vty: Don't enable random filler bursts automatically with EDGE. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15796 ) Change subject: vty: Don't enable random filler bursts automatically with EDGE. ...................................................................... vty: Don't enable random filler bursts automatically with EDGE. The EGPRS switch in the VTY config enables 8-PSK burst detection on uplink. Enabling it shouldn't turn on filler bursts. Change-Id: I2786c768e038b769a80c8b78fe58cfa09eb322a9 --- M CommonLibs/trx_vty.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/96/15796/1 diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index bac9653..df0114a 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -305,7 +305,6 @@ trx->cfg.egprs = false; } else if (strcmp("enable", argv[0]) == 0) { trx->cfg.egprs = true; - trx->cfg.filler = FILLER_EDGE_RAND; } else { return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2786c768e038b769a80c8b78fe58cfa09eb322a9 Gerrit-Change-Number: 15796 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 15 11:16:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:16:47 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: Hello daniel, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 to look at the new patch set (#2). Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... ss7: Support multiple addresses in SCTP connections After this patch, Several "local-ip" and "remote-ip" lines are accepted under "listen" and "asp" VTY nodes, allowing to configure an SCTP connection with multiple connections, hence allowing control of SCTP multi-homing features. libosmo-sccp clients such as osmo-bsc and osmo-msc also gain support for this feature with this commit. Related: OS#3608 Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Depends: libosmo-netif.git I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/sccp_user.c 5 files changed, 170 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/85/15785/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Tue Oct 15 11:24:47 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 15 Oct 2019 11:24:47 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. 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/+/15793 to look at the new patch set (#3). Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... vty: Simplify filler burst settings and improve help and readability. In the command line options time, filler table/filer burts settings were a bit difficult to undertand because the number of one-letter settings was limited. Now, with VTY configuration, there is no reason to keep it so difficult. Also, after the previous commit it was no longer posible to enable random 8-PSK filler bursts. With this patch you can configure all supported filler bursts in a simple and logical way. Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 --- M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/osmo-trx.cpp 3 files changed, 81 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/93/15793/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 3 Gerrit-Owner: ipse 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 Tue Oct 15 11:25:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:25:02 +0000 Subject: Change in osmo-ci[master]: jobs/master-builds.yml: Set node for master axis job In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15794 ) Change subject: jobs/master-builds.yml: Set node for master axis job ...................................................................... Patch Set 1: Verified+1 jobs reconfigured and osmo-ggsn-master passes now. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe Gerrit-Change-Number: 15794 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 11:25: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 Tue Oct 15 11:25:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:25:05 +0000 Subject: Change in osmo-ci[master]: jobs/master-builds.yml: Set node for master axis job In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15794 ) Change subject: jobs/master-builds.yml: Set node for master axis job ...................................................................... jobs/master-builds.yml: Set node for master axis job Otherwise the master job managing the axis can be run on any node, something which is not desirable. For instance, right now job master-osmo-ggsn is run on osmo-gsm-tester-rnd which is currently unable to fetch some git repositories. Let's avoid running master tests on unintended nodes. Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe --- M jobs/master-builds.yml 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: daniel: Looks good to me, approved pespin: Verified diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 5a47028..854b991 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -5,7 +5,7 @@ # following default values can be overridden by each repo disabled: false concurrent: false - node: '' + node: 'osmocom-master-debian8' # axes related defaults slave_axis: !!python/tuple [osmocom-master-debian9] a1_name: a1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe Gerrit-Change-Number: 15794 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 15 11:25:26 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 15 Oct 2019 11:25:26 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... Patch Set 3: (4 comments) https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at a197 PS1, Line 197: test rach-delay <0-68> > I understand that these commands are kind of special, and not everybody uses them, but anyway we sho [?] These functions are used for special types of testing and looking at how they are implemented, I don't think anyone really used them. And given that the logic of the functions has changed, I frankly don't see a justification for the effort to re-implement them and keep unused code in the source tree. https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at a308 PS1, Line 308: trx->cfg.filler = FILLER_EDGE_RAND; > Makes sense to send this fix as a separate patch. I don't think it's really necessary but I've split the patch anyway. https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at 63 PS1, Line 63: gmsk-rand > Just an idea, not a merge blocker: GMSK is used for Access Bursts too. This may be a bit confusing. [?] Yes, good point, I'll change the names to be more consistent. https://gerrit.osmocom.org/c/osmo-trx/+/15793/1/CommonLibs/trx_vty.c at 360 PS1, Line 360: rach > In general, this parameter has nothing to do with Random Access Channel. [?] Yes, I was also thinking of that. I'll change the name. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 15 Oct 2019 11:25:26 +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 Tue Oct 15 11:26:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:26:00 +0000 Subject: Change in osmo-trx[master]: vty: Don't enable random filler bursts automatically with EDGE. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15796 ) Change subject: vty: Don't enable random filler bursts automatically with EDGE. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2786c768e038b769a80c8b78fe58cfa09eb322a9 Gerrit-Change-Number: 15796 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 11:26: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 Tue Oct 15 11:44:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 15 Oct 2019 11:44:58 +0000 Subject: Change in osmo-trx[master]: vty: Don't enable random filler bursts automatically with EDGE. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15796 ) Change subject: vty: Don't enable random filler bursts automatically with EDGE. ...................................................................... Patch Set 1: Code-Review+1 I would CR+2, but I don't have such permissions. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2786c768e038b769a80c8b78fe58cfa09eb322a9 Gerrit-Change-Number: 15796 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 11: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 Tue Oct 15 11:57:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 11:57:48 +0000 Subject: Change in osmo-trx[master]: vty: Don't enable random filler bursts automatically with EDGE. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15796 ) Change subject: vty: Don't enable random filler bursts automatically with EDGE. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2786c768e038b769a80c8b78fe58cfa09eb322a9 Gerrit-Change-Number: 15796 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Oct 2019 11:57: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 Oct 15 12:00:55 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 15 Oct 2019 12:00:55 +0000 Subject: Change in osmo-trx[master]: vty: Don't enable random filler bursts automatically with EDGE. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15796 ) Change subject: vty: Don't enable random filler bursts automatically with EDGE. ...................................................................... vty: Don't enable random filler bursts automatically with EDGE. The EGPRS switch in the VTY config enables 8-PSK burst detection on uplink. Enabling it shouldn't turn on filler bursts. Change-Id: I2786c768e038b769a80c8b78fe58cfa09eb322a9 --- M CommonLibs/trx_vty.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index bac9653..df0114a 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -305,7 +305,6 @@ trx->cfg.egprs = false; } else if (strcmp("enable", argv[0]) == 0) { trx->cfg.egprs = true; - trx->cfg.filler = FILLER_EDGE_RAND; } else { return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2786c768e038b769a80c8b78fe58cfa09eb322a9 Gerrit-Change-Number: 15796 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 15 15:30:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 15:30:24 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: Hello daniel, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 to look at the new patch set (#3). Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... ss7: Support multiple addresses in SCTP connections After this patch, Several "local-ip" and "remote-ip" lines are accepted under "listen" and "asp" VTY nodes, allowing to configure an SCTP connection with multiple connections, hence allowing control of SCTP multi-homing features. libosmo-sccp clients such as osmo-bsc and osmo-msc also gain support for this feature with this commit. Related: OS#3608 Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Depends: libosmo-netif.git I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/sccp_user.c M tests/vty/ss7_asp_test.vty 6 files changed, 184 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/85/15785/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Tue Oct 15 15:30:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 15 Oct 2019 15:30:25 +0000 Subject: Change in libosmo-sccp[master]: tests: Introduce test for multi-homing STP features References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 ) Change subject: tests: Introduce test for multi-homing STP features ...................................................................... tests: Introduce test for multi-homing STP features Config file sets omo-stp instance to bind on 2 IP addresses, and then the test verfies through linux /proc/net/sctp/* that binding is done correctly and that it can be reached from another remote address to one of the configured addresses. Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 --- A doc/examples/osmo-stp-multihome.cfg M tests/vty/Makefile.am A tests/vty/vty_test_runner.py 3 files changed, 204 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/97/15797/1 diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg new file mode 100644 index 0000000..dcdc19e --- /dev/null +++ b/doc/examples/osmo-stp-multihome.cfg @@ -0,0 +1,22 @@ +! +! osmo-stp (0.0.6.3.179-b248) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug +line vty + no login +! +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + listen m3ua 2905 + accept-asp-connections dynamic-permitted + local-ip 127.0.0.2 + local-ip 127.0.0.1 diff --git a/tests/vty/Makefile.am b/tests/vty/Makefile.am index 28e9dc2..be67293 100644 --- a/tests/vty/Makefile.am +++ b/tests/vty/Makefile.am @@ -5,7 +5,10 @@ LDADD = $(top_builddir)/src/libosmo-sigtran.la \ $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMONETIF_LIBS) $(LIBSCTP_LIBS) -EXTRA_DIST = ss7_asp_test.vty +EXTRA_DIST = \ + ss7_asp_test.vty \ + vty_test_runner.py \ + $(NULL) noinst_PROGRAMS = ss7_asp_vty_test @@ -19,14 +22,22 @@ echo "Not running python-based external tests (determined at configure-time)" endif +vty-python-test: $(BUILT_SOURCES) + $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v + # To update the VTY script from current application behavior, # pass -u to osmo_verify_transcript_vty.py by doing: # make vty-test U=-u -vty-test: ss7_asp_vty_test +vty-transcript-test: ss7_asp_vty_test osmo_verify_transcript_vty.py -v \ -p 42043 \ -r "$(builddir)/ss7_asp_vty_test" \ $(U) $(srcdir)/ss7_asp_*.vty +# don't run multiple tests concurrently so that the ports don't conflict +vty-test: + $(MAKE) vty-python-test + $(MAKE) vty-transcript-test + check-local: $(MAKE) $(AM_MAKEFLAGS) ext-tests diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py new file mode 100755 index 0000000..b01be26 --- /dev/null +++ b/tests/vty/vty_test_runner.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python2 + +# (C) 2013 by Katerina Barone-Adesi +# (C) 2013 by Holger Hans Peter Freyther +# (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 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 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, sys +import time +import unittest +import socket +import subprocess +import time + +import osmopy.obscvty as obscvty +import osmopy.osmoutil as osmoutil +from osmopy.osmo_ipa import IPA + +# to be able to find $top_srcdir/doc/... +confpath = os.path.join(sys.path[0], '..') + +class TestVTYBase(unittest.TestCase): + + def checkForEndAndExit(self): + res = self.vty.command("list") + #print ('looking for "exit"\n') + self.assert_(res.find(' exit\r') > 0) + #print 'found "exit"\nlooking for "end"\n' + self.assert_(res.find(' end\r') > 0) + #print 'found "end"\n' + + def vty_command(self): + raise Exception("Needs to be implemented by a subclass") + + def vty_app(self): + raise Exception("Needs to be implemented by a subclass") + + def setUp(self): + osmo_vty_cmd = self.vty_command()[:] + config_index = osmo_vty_cmd.index('-c') + if config_index: + cfi = config_index + 1 + osmo_vty_cmd[cfi] = os.path.join(confpath, osmo_vty_cmd[cfi]) + + try: + self.proc = osmoutil.popen_devnull(osmo_vty_cmd) + except OSError: + print >> sys.stderr, "Current directory: %s" % os.getcwd() + print >> sys.stderr, "Consider setting -b" + + appstring = self.vty_app()[2] + appport = self.vty_app()[0] + self.vty = obscvty.VTYInteract(appstring, "127.0.0.1", appport) + + def tearDown(self): + if self.vty: + self.vty._close_socket() + self.vty = None + osmoutil.end_proc(self.proc) + +class TestVTYSTP(TestVTYBase): + + def vty_command(self): + return ["./stp/osmo-stp", "-c", + "../doc/examples/osmo-stp-multihome.cfg"] + + def vty_app(self): + return (4239, "./stp/osmo-stp", "OsmoSTP", "stp") + + def check_sctp_sock_local(self, laddr_list, lport): + path = "/proc/net/sctp/eps" + with open(path, "r") as fp: + #drop first line, contains column names: + fp.readline() + while True: + # Read next line + line = fp.readline().strip() + if not line: + return False + print "%s: parsing line: %s" %(path, line) + it = line.split() + if lport == int(it[5]): + print "%s: local port %d found" %(path, lport) + itaddr_list = it[8:] + if len(itaddr_list) != len(laddr_list): + print "%s: addr list mismatch: %r vs %r" % (path, repr(itaddr_list), repr(laddr_list)) + continue + for addr in laddr_list: + if addr not in itaddr_list: + print "%s: addr not found in list: %s vs %r" % (path, addr, repr(itaddr_list)) + return False + return True + return False + + def testMultiHome(self): + # first check if STP is listening in required addresses: + found = False + for i in range(5): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): + found = True + break + else: + print "[%d] osmo-stp not yet available, retrying in a second" % i + time.sleep(1) + self.assert_(found) + try: + proto = socket.IPPROTO_SCTP + except AttributeError: # it seems to be not defined under python2? + proto = 132 + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) + s.bind(('127.0.0.3', 0)) + try: + s.connect(('127.0.0.2',2905)) + except socket.error as msg: + s.close() + self.assert_(False) + print "Connected to STP through SCTP" + s.close() + +if __name__ == '__main__': + import argparse + import sys + + workdir = '.' + + parser = argparse.ArgumentParser() + parser.add_argument("-v", "--verbose", dest="verbose", + action="store_true", help="verbose mode") + parser.add_argument("-p", "--pythonconfpath", dest="p", + help="searchpath for config") + parser.add_argument("-w", "--workdir", dest="w", + help="Working directory") + parser.add_argument("test_name", nargs="*", help="(parts of) test names to run, case-insensitive") + args = parser.parse_args() + + verbose_level = 1 + if args.verbose: + verbose_level = 2 + + if args.w: + workdir = args.w + + if args.p: + confpath = args.p + + print "confpath %s, workdir %s" % (confpath, workdir) + os.chdir(workdir) + print "Running tests for specific VTY commands" + suite = unittest.TestSuite() + suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestVTYSTP)) + + if args.test_name: + osmoutil.pick_tests(suite, *args.test_name) + + res = unittest.TextTestRunner(verbosity=verbose_level, stream=sys.stdout).run(suite) + sys.exit(len(res.errors) + len(res.failures)) + +# vim: shiftwidth=4 expandtab nocin ai -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 Gerrit-Change-Number: 15797 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 Oct 15 17:21:02 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Tue, 15 Oct 2019 17:21:02 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 to look at the new patch set (#2). Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 --- M src/host/layer23/README M src/host/layer23/include/osmocom/bb/common/sysinfo.h M src/host/layer23/include/osmocom/bb/mobile/gsm322.h M src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h M src/host/layer23/include/osmocom/bb/mobile/mncc.h M src/host/layer23/src/common/main.c M src/host/layer23/src/common/sap_proto.c M src/host/layer23/src/common/sim.c M src/host/layer23/src/common/sysinfo.c M src/host/layer23/src/misc/app_bcch_scan.c M src/host/layer23/src/misc/app_cbch_sniff.c M src/host/layer23/src/misc/app_ccch_scan.c M src/host/layer23/src/misc/cell_log.c M src/host/layer23/src/mobile/app_mobile.c M src/host/layer23/src/mobile/gsm322.c M src/host/layer23/src/mobile/gsm411_sms.c M src/host/layer23/src/mobile/gsm480_ss.c M src/host/layer23/src/mobile/gsm48_cc.c M src/host/layer23/src/mobile/gsm48_mm.c M src/host/layer23/src/mobile/gsm48_rr.c M src/host/layer23/src/mobile/main.c M src/host/layer23/src/mobile/mncc_sock.c M src/host/layer23/src/mobile/mnccms.c M src/host/layer23/src/mobile/script_lua.c M src/host/layer23/src/mobile/vty_interface.c M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/logging.c M src/host/virt_phy/src/virt_prim_pm.c M src/target/firmware/apps/rssi/main.c M src/target/firmware/board/compal/highram.lds M src/target/firmware/board/compal/ram.lds M src/target/firmware/board/mediatek/ram.lds M src/target/firmware/calypso/sim.c M src/target/firmware/comm/sercomm.c M src/target/firmware/fb/fb_rgb332.c M src/target/firmware/fb/fb_s6b33b1x.c M src/target/firmware/include/abb/twl3025.h M src/target/firmware/include/calypso/dsp_api.h M src/target/firmware/include/calypso/l1_environment.h M src/target/firmware/include/calypso/sim.h M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/layer1/sync.h M src/target/firmware/layer1/l23_api.c M src/target/firmware/layer1/prim_fbsb.c M src/target/firmware/layer1/prim_tch.c M src/target/firmware/layer1/sync.c M src/target/firmware/lib/vsprintf.c M src/target/firmware/rf/trf6151.c M src/target/trx_toolkit/data_dump.py M src/target_dsp/calypso/dump2coff.py 52 files changed, 140 insertions(+), 140 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/89/15789/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 2 Gerrit-Owner: roox 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 admin at opensuse.org Wed Oct 16 01:45:33 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 16 Oct 2019 01:45:33 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5da6764c77545_59082b015aa185fc203916@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 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] lamb18 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Wed Oct 16 01:45:17 UTC 2019. [ 110s] [ 110s] ### VM INTERACTION START ### [ 111s] Powering off. [ 111s] [ 98.358827] reboot: Power down [ 111s] ### VM INTERACTION END ### [ 111s] [ 111s] lamb18 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Wed Oct 16 01:45:19 UTC 2019. [ 111s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Oct 16 01:57:35 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 16 Oct 2019 01:57:35 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5da67915e7d74_59082b015aa185fc205024@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: [ 148s] DLMUX adding cloned RTP [ 148s] sys={28.464242}, mono={5.040000}: OSMUX message (len=98): OSMUX seq=088 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=089 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] -sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9677 timestamp=1681775817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] -sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9678 timestamp=1681775977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] -sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9679 timestamp=1681776137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] -sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9680 timestamp=1681776297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] -sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9681 timestamp=1681776457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18286 timestamp=847013926 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18287 timestamp=847014086 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18288 timestamp=847014246 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18289 timestamp=847014406 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18290 timestamp=847014566 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] sys={28.484242}, mono={5.060000}: clock_override_add [ 148s] -sys={28.484242}, mono={5.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9682 timestamp=1681776617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] +sys={28.484242}, mono={5.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=18291 timestamp=847014726 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] sys={28.504242}, mono={5.080000}: clock_override_add [ 148s] sys={28.504242}, mono={5.080000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16576 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16577 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] @@ -1040,13 +1040,13 @@ [ 148s] sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16579 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] DLMUX adding cloned RTP [ 148s] sys={28.504242}, mono={5.080000}: OSMUX message (len=98): OSMUX seq=090 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=091 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] -sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9683 timestamp=1681776777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] [ 148s] -sys={Powering off. [ 148s] [ 118.112058] reboot: Power down [ 149s] ### VM INTERACTION END ### [ 149s] [ 149s] cloud127 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Wed Oct 16 01:57:23 UTC 2019. [ 149s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Oct 16 09:01:01 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 16 Oct 2019 09:01:01 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... Patch Set 4: (7 comments) This change is ready for review. https://gerrit.osmocom.org/c/libosmocore/+/15719/2/include/osmocom/gsm/gsm0502.h File include/osmocom/gsm/gsm0502.h: https://gerrit.osmocom.org/c/libosmocore/+/15719/2/include/osmocom/gsm/gsm0502.h at 43 PS2, Line 43: tch_f_traffic_block_map > The new should be prefixed with 'gsm0502_' (to be consistent with the existing code). Done https://gerrit.osmocom.org/c/libosmocore/+/15719/2/include/osmocom/gsm/gsm0502.h at 43 PS2, Line 43: static const uint8_t tch_f_traffic_block_map[3][8] = { > I would actually prefer to keep them static and not expose them. [?] Done https://gerrit.osmocom.org/c/libosmocore/+/15719/2/include/osmocom/gsm/gsm0502.h at 73 PS2, Line 73: traffic > FACCH is not traffic, it's signalling. I would just call it 'tch_h1_facch_block_map'. Done https://gerrit.osmocom.org/c/libosmocore/+/15719/2/include/osmocom/gsm/gsm0502.h at 79 PS2, Line 79: fn_ > Also needs to be prefixed. Done https://gerrit.osmocom.org/c/libosmocore/+/15719/2/src/gsm/gsm0502.c File src/gsm/gsm0502.c: https://gerrit.osmocom.org/c/libosmocore/+/15719/2/src/gsm/gsm0502.c at 80 PS2, Line 80: fn_remap_table_from_traffic_block_map > Why not a function? I prefer the macro since it is problematic to use multi dimensional arrays as function parameters. https://gerrit.osmocom.org/c/libosmocore/+/15719/2/src/gsm/gsm0502.c at 119 PS2, Line 119: Create BSSMAP Assignment Request message > Completely unrelated. Done https://gerrit.osmocom.org/c/libosmocore/+/15719/2/src/gsm/gsm0502.c at 151 PS2, Line 151: default > Makes sense to OSMO_ASSERT() here, or at least print a warning. Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 16 Oct 2019 09:01:01 +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 Wed Oct 16 09:17:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 09:17:31 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Oct 2019 09:17: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 Oct 16 09:44:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 09:44:37 +0000 Subject: Change in libosmo-netif[master]: tests: osmux_test: Hardcode h_output values set by random() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15798 ) Change subject: tests: osmux_test: Hardcode h_output values set by random() ...................................................................... tests: osmux_test: Hardcode h_output values set by random() osmux implementation randomizes those values. It seems build in OBS sometimes provide different values than the ones expected in the test result. Let's hardcode them to make sure we always have the same values regarless of the random() implementation. Values chosen are the one matching the current expected test output so it doesn't need any change. Change-Id: Icc553c83ddff41900ae3d5990a655c29c9073e01 --- M tests/osmux/osmux_test.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/98/15798/1 diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 7fa9af7..b6a43fe 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -299,6 +299,9 @@ osmux_xfrm_output_init2(&h_output, 0x7000000, 98); osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, NULL); + /* These fields are set using random() */ + h_output.rtp_seq = 9158; + h_output.rtp_timestamp = 1681692777; /* If the test takes longer than 10 seconds, abort it */ alarm(10); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Icc553c83ddff41900ae3d5990a655c29c9073e01 Gerrit-Change-Number: 15798 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 Oct 16 09:58:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 09:58:45 +0000 Subject: Change in libosmocore[master]: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15779 to look at the new patch set (#2). Change subject: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() ...................................................................... tdef: Return correct snprintf value for osmo_tdef_range_str_buf() len provides extra information in the case the buffer was too small, because it tells the caller "the number of characters (excluding the terminating null byte) which would have been written to the final string if enough space had been available" (man snprintf). Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 --- M src/tdef.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/79/15779/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 Gerrit-Change-Number: 15779 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 16 10:07:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 10:07:19 +0000 Subject: Change in osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15706 ) Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... Patch Set 2: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: ipse Gerrit-Comment-Date: Wed, 16 Oct 2019 10:07: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 Oct 16 10:57:04 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 16 Oct 2019 10:57:04 +0000 Subject: Change in osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15706 ) Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... Patch Set 2: Code-Review+2 Sorry. Looks good to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Oct 2019 10:57: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 Wed Oct 16 11:13:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 11:13:22 +0000 Subject: Change in osmo-bts[master]: bts-trx: Time out if no clock ind recvd after RSP POWERON In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15706 ) Change subject: bts-trx: Time out if no clock ind recvd after RSP POWERON ...................................................................... bts-trx: Time out if no clock ind recvd after RSP POWERON Before this patch, if due to whatever reason the TRX started fine (RSP POWERON 0) and sockets were created but no CLOCK IND was ever received by the BTS, it wouldn't notice since the timerfd timeouts (bts_shutdown("no clock")) are only checked after the first CLOCK IND is sent by the TRX. As a result, the BTS would be kept on forever saying everything is fine but it would be sending no DL burst at all to the TRX (tested with a modfied osmo-trx dropping clock indication). With this patch, new APIs are added to indicate the scheduler_trx code the timeframes where clock ind are expected (between RSP POWERON 0 and RSP POWEROFF 0); if TRX sends clock indications out of that timeframe, BTs lower layers will drop them (controlled by "powered" bool). Hence, the scheduler_trx can now place a timeout (reusing same timerfd because its new use is exclusive in time with its other previous use) when it is told that CLOCK IND should start appearing, and if none arrives in considerable time, then the BTS can be shut down to notify the rest of the network. Related: OS#4215 Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 57 insertions(+), 2 deletions(-) Approvals: ipse: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index e693e3e..3100a1d 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -175,6 +175,12 @@ /*! \brief PHY informs us of new (current) GSM frame number */ int trx_sched_clock(struct gsm_bts *bts, uint32_t fn); +/*! \brief PHY informs us clock indications should start to be received */ +int trx_sched_clock_started(struct gsm_bts *bts); + +/*! \brief PHY informs us no more clock indications should be received anymore */ +int trx_sched_clock_stopped(struct gsm_bts *bts); + /*! \brief set multiframe scheduler to given physical channel config */ int trx_sched_set_pchan(struct l1sched_trx *l1t, uint8_t tn, enum gsm_phys_chan_config pchan); diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 1079128..38b43b9 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -176,10 +176,13 @@ plink->u.osmotrx.poweronoff_sent = false; if (poweronoff) { - if (rc == 0 && pinst->phy_link->state != PHY_LINK_CONNECTED) + if (rc == 0 && pinst->phy_link->state != PHY_LINK_CONNECTED) { + trx_sched_clock_started(pinst->trx->bts); phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED); - else if (rc != 0 && pinst->phy_link->state != PHY_LINK_SHUTDOWN) + } else if (rc != 0 && pinst->phy_link->state != PHY_LINK_SHUTDOWN) { + trx_sched_clock_stopped(pinst->trx->bts); phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN); + } } } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index af639e2..8662a14 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1682,6 +1682,52 @@ return -1; } +/*! \brief This is the cb of the initial timer set upon start. On timeout, it + * means it wasn't replaced and hence no CLOCK IND was received. */ +static int trx_start_noclockind_to_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct gsm_bts *bts = ofd->data; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; + struct osmo_trx_clock_state *tcs = &bts_trx->clk_s; + + osmo_fd_close(&tcs->fn_timer_ofd); /* Avoid being called again */ + bts_shutdown(bts, "No clock since TRX was started"); + return -1; +} + +/*! \brief PHY informs us clock indications should start to be received */ +int trx_sched_clock_started(struct gsm_bts *bts) +{ + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; + struct osmo_trx_clock_state *tcs = &bts_trx->clk_s; + const struct timespec it_val = {3, 0}; + const struct timespec it_intval = {0, 0}; + + LOGP(DL1C, LOGL_NOTICE, "GSM clock started, waiting for clock indications\n"); + osmo_fd_close(&tcs->fn_timer_ofd); + memset(tcs, 0, sizeof(*tcs)); + tcs->fn_timer_ofd.fd = -1; + /* Set up timeout to shutdown BTS if no clock ind is received in a few + * seconds. Upon clock ind receival, fn_timer_ofd will be reused and + * timeout won't trigger. + */ + osmo_timerfd_setup(&tcs->fn_timer_ofd, trx_start_noclockind_to_cb, bts); + osmo_timerfd_schedule(&tcs->fn_timer_ofd, &it_val, &it_intval); + return 0; +} + +/*! \brief PHY informs us no more clock indications should be received anymore */ +int trx_sched_clock_stopped(struct gsm_bts *bts) +{ + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; + struct osmo_trx_clock_state *tcs = &bts_trx->clk_s; + + LOGP(DL1C, LOGL_NOTICE, "GSM clock stopped\n"); + osmo_fd_close(&tcs->fn_timer_ofd); + + return 0; +} + /*! reset clock with current fn and schedule it. Called when trx becomes * available or when max clock skew is reached */ static int trx_setup_clock(struct gsm_bts *bts, struct osmo_trx_clock_state *tcs, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba5dbe867aff10e70ec73dbf1f7aeeecb15c0a4d Gerrit-Change-Number: 15706 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse 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 Oct 16 12:44:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 12:44:22 +0000 Subject: Change in osmo-pcu[master]: Fix assertion hit upon CCCH Paging Request References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15799 ) Change subject: Fix assertion hit upon CCCH Paging Request ...................................................................... Fix assertion hit upon CCCH Paging Request Recent commit added an assertion to check for buffer boundaries and it actually gets hit. One of the 2 code paths calling pcu_l1if_tx_pch() was passing a buffer of 23 bytes while one of maximum 22 is expected (because plen is not set in the buffer but set inside pcu_l1if_tx_pch()). So it seems before the assert, that code path was actually writing 1 byte outside the boundaries of data buffer, since bitvec_pack() uses data_len field of bitvec. Related: OS#4228 Fixes: 8dc09e73d0b361b27232526ebcd5f25cd8c7edfd Change-Id: I84c5dfd4d5580e9d4c00ed21887cb51bd9abbd2e --- M src/gprs_rlcmac.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/99/15799/1 diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 4d93f8f..7a98a25 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -32,7 +32,7 @@ const char *imsi) { LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH)\n"); - bitvec *paging_request = bitvec_alloc(23, tall_pcu_ctx); + bitvec *paging_request = bitvec_alloc(22, tall_pcu_ctx); bitvec_unhex(paging_request, DUMMY_VEC); int plen = Encoding::write_paging_request(paging_request, ptmsi, ptmsi_len); pcu_l1if_tx_pch(paging_request, plen, (char *)imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84c5dfd4d5580e9d4c00ed21887cb51bd9abbd2e Gerrit-Change-Number: 15799 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 Oct 16 14:57:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 14:57:18 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 ) Change subject: ss7: Fix trailing whitespace ...................................................................... ss7: Fix trailing whitespace Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b --- M src/osmo_ss7.c M src/xua_rkm.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/00/15800/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 4ca3d53..894a13e 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -468,7 +468,7 @@ * \param[in] inst SS7 instance for which we register the user * \param[in] service_ind Service (ISUP, SCCP, ...) * \param[in] user (optional) SS7 user. If present, we will not - * unregister other users + * unregister other users * \returns 0 on success; negative on error */ int osmo_ss7_user_unregister(struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user) diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 4b760ee..f1ac551 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -207,7 +207,7 @@ * is a slightly non-standard interpretation of M3UA RKM * which requires the SG to not have a-priori-knowledge of * all AS/RK in situations where the ASP are trusted. - */ + */ /* check if there is already an AS for this routing key */ as = osmo_ss7_as_find_by_rctx(asp->inst, rctx); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b Gerrit-Change-Number: 15800 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 Oct 16 14:57:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 14:57:19 +0000 Subject: Change in libosmo-sccp[master]: vty: Print traffic mode during show cs7 instance as References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 ) Change subject: vty: Print traffic mode during show cs7 instance as ...................................................................... vty: Print traffic mode during show cs7 instance as Change-Id: Ief6b03f50751b8d8f4021e94d54f079681b64d51 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 29 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/01/15801/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index e7b137b..bc0a0cb 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1007,9 +1007,9 @@ return CMD_WARNING; } - vty_out(vty, " Routing Routing Key Cic Cic%s", VTY_NEWLINE); - vty_out(vty, "AS Name State Context Dpc Si Opc Ssn Min Max%s", VTY_NEWLINE); - vty_out(vty, "------------ ------------ ---------- ------------- ---- ------------- --- ----- -----%s", VTY_NEWLINE); + vty_out(vty, " Routing Routing Key Cic Cic Traffic%s", VTY_NEWLINE); + vty_out(vty, "AS Name State Context Dpc Si Opc Ssn Min Max Mode%s", VTY_NEWLINE); + vty_out(vty, "------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- -------%s", VTY_NEWLINE); llist_for_each_entry(as, &inst->as_list, list) { if (filter && !strcmp(filter, "m3ua") && as->cfg.proto != OSMO_SS7_ASP_PROT_M3UA) @@ -1017,10 +1017,11 @@ if (filter && !strcmp(filter, "sua") && as->cfg.proto != OSMO_SS7_ASP_PROT_SUA) continue; /* FIXME: active filter */ - vty_out(vty, "%-12s %-12s %-10u %-13s %4s %13s %3s %5s %4s%s", + vty_out(vty, "%-12s %-12s %-10u %-13s %4s %13s %3s %5s %4s %10s%s", as->cfg.name, osmo_fsm_inst_state_name(as->fi), as->cfg.routing_key.context, osmo_ss7_pointcode_print(as->inst, as->cfg.routing_key.pc), - "", "", "", "", "", VTY_NEWLINE); + "", "", "", "", "", osmo_ss7_as_traffic_mode_name(as->cfg.mode), + VTY_NEWLINE); } return CMD_SUCCESS; } diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 2bf7993..146c34b 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -266,27 +266,27 @@ asp Specify ASP to be removed from this AS ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as all - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 0.0.0 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 0.0.0 loadshare ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as active - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 0.0.0 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 0.0.0 loadshare ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as sua - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as m3ua - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 0.0.0 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 0.0.0 loadshare ss7_asp_vty_test(config-cs7-as)# asp my-asp ss7_asp_vty_test(config-cs7-as)# routing-key 0 3.2.1 @@ -314,10 +314,10 @@ my-asp ? ASP_DOWN m3ua 127.0.0.200:12345 ss7_asp_vty_test(config)# do show cs7 instance 0 as all - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 3.2.1 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 3.2.1 loadshare @@ -355,10 +355,10 @@ ------------ ------------ ------------- ---- ----------------------- ---------- ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 as all - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 3.2.1 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 3.2.1 loadshare ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 sccp timers -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ief6b03f50751b8d8f4021e94d54f079681b64d51 Gerrit-Change-Number: 15801 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 Oct 16 14:57:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 16 Oct 2019 14:57:19 +0000 Subject: Change in libosmo-sccp[master]: ss7: Implement AS traffic mode loadshare using round robin ASP selection References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 ) Change subject: ss7: Implement AS traffic mode loadshare using round robin ASP selection ...................................................................... ss7: Implement AS traffic mode loadshare using round robin ASP selection Related: OS#4220 Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/xua_as_fsm.c 3 files changed, 46 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/02/15802/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 98b3b88..224f6bc 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 libosmo-sigtran osmo_ss7_asp_peer ABI breakage (host is now an array of strings) +libosmo-sigtran osmo_ss7_as ABI breakage (added field last_asp_idx_sent) diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index f472b44..aa61d82 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -316,6 +316,7 @@ } pc_override; struct osmo_ss7_asp *asps[16]; + uint8_t last_asp_idx_sent; /* used for load-sharing traffic mode (round robin implementation) */ } cfg; }; diff --git a/src/xua_as_fsm.c b/src/xua_as_fsm.c index 5757d63..925b851 100644 --- a/src/xua_as_fsm.c +++ b/src/xua_as_fsm.c @@ -71,14 +71,12 @@ return sent; } -/* actually transmit a message through this AS */ -int xua_as_transmit_msg(struct osmo_ss7_as *as, struct msgb *msg) +static struct osmo_ss7_asp *xua_as_select_asp_override(struct osmo_ss7_as *as) { struct osmo_ss7_asp *asp; unsigned int i; - /* FIXME: proper selection of the ASP based on the SLS and the - * traffic mode type! */ + /* FIXME: proper selection of the ASP based on the SLS! */ for (i = 0; i < ARRAY_SIZE(as->cfg.asps); i++) { asp = as->cfg.asps[i]; if (!asp) @@ -86,6 +84,48 @@ if (asp) break; } + return asp; +} + +static struct osmo_ss7_asp *xua_as_select_asp_roundrobin(struct osmo_ss7_as *as) +{ + struct osmo_ss7_asp *asp; + unsigned int i; + unsigned int first_idx; + + first_idx = (as->cfg.last_asp_idx_sent + 1) % ARRAY_SIZE(as->cfg.asps); + i = first_idx; + do { + asp = as->cfg.asps[i]; + if (asp) + break; + i = (i + 1) % ARRAY_SIZE(as->cfg.asps); + } while (i != first_idx); + as->cfg.last_asp_idx_sent = i; + + return asp; +} + +/* actually transmit a message through this AS */ +int xua_as_transmit_msg(struct osmo_ss7_as *as, struct msgb *msg) +{ + struct osmo_ss7_asp *asp; + + switch (as->cfg.mode) { + case OSMO_SS7_AS_TMOD_OVERRIDE: + asp = xua_as_select_asp_override(as); + break; + case OSMO_SS7_AS_TMOD_LOADSHARE: + case OSMO_SS7_AS_TMOD_ROUNDROBIN: + asp = xua_as_select_asp_roundrobin(as); + break; + case OSMO_SS7_AS_TMOD_BCAST: + LOGPFSM(as->fi, "Traffic mode broadcast not implemented, dropping message\n"); + msgb_free(msg); + return -1; + case _NUM_OSMO_SS7_ASP_TMOD: + OSMO_ASSERT(false); + } if (!asp) { LOGPFSM(as->fi, "No ASP in AS, dropping message\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 Gerrit-Change-Number: 15802 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Oct 17 01:46:50 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 17 Oct 2019 01:46:50 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5da7c829311c0_38762b01991665f027095c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 108s] | #define HAVE_DLFCN_H 1 [ 108s] | #define LT_OBJDIR ".libs/" [ 108s] | #define STDC_HEADERS 1 [ 108s] | #define HAVE_EXECINFO_H 1 [ 108s] | #define HAVE_SYS_SELECT_H 1 [ 108s] | #define HAVE_SYS_SOCKET_H 1 [ 108s] | #define HAVE_SYSLOG_H 1 [ 108s] | #define HAVE_CTYPE_H 1 [ 108s] | #define HAVE_LIBSCTP 1 [ 108s] | #define HAVE_PCAP_H 1 [ 108s] | [ 108s] | configure: exit 0 [ 108s] [ 108s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 108s] make[1]: *** [override_dh_auto_test] Error 1 [ 108s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 108s] debian/rules:13: recipe for target 'build' failed [ 108s] make: *** [build] Error 2 [ 108s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 108s] [ 108s] lamb06 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Thu Oct 17 01:46:45 UTC 2019. [ 108s] [ 108s] ### VM INTERACTION START ### [ 108s] Powering off. [ 108s] [ 95.882320] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] lamb06 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Thu Oct 17 01:46:46 UTC 2019. [ 108s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Oct 17 01:51:41 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 17 Oct 2019 01:51:41 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5da7c9373bf91_38762b01991665f02717f@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: [ 181s] | #define HAVE_DLFCN_H 1 [ 181s] | #define LT_OBJDIR ".libs/" [ 181s] | #define STDC_HEADERS 1 [ 181s] | #define HAVE_EXECINFO_H 1 [ 181s] | #define HAVE_SYS_SELECT_H 1 [ 181s] | #define HAVE_SYS_SOCKET_H 1 [ 181s] | #define HAVE_SYSLOG_H 1 [ 181s] | #define HAVE_CTYPE_H 1 [ 181s] | #define HAVE_LIBSCTP 1 [ 181s] | #define HAVE_PCAP_H 1 [ 181s] | [ 181s] | configure: exit 0 [ 181s] [ 181s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 181s] make[1]: *** [override_dh_auto_test] Error 1 [ 181s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 181s] debian/rules:13: recipe for target 'build' failed [ 181s] make: *** [build] Error 2 [ 181s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 181s] [ 181s] lamb59 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Thu Oct 17 01:51:25 UTC 2019. [ 181s] [ 181s] ### VM INTERACTION START ### [ 182s] Powering off. [ 182s] [ 167.542455] reboot: Power down [ 182s] ### VM INTERACTION END ### [ 182s] [ 182s] lamb59 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Thu Oct 17 01:51:26 UTC 2019. [ 182s] -- 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 Oct 17 08:01:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:01:10 +0000 Subject: Change in osmo-sgsn[master]: sgsn_libgtp: refactor ps paging into gprs_gb In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps paging into gprs_gb ...................................................................... sgsn_libgtp: refactor ps 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(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: 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 47f2a31..461eee3 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 its routing area */ +int gprs_gb_page_ps_ra(struct sgsn_mm_ctx *mmctx); diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index 9fa8e00..d470cfa 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -80,3 +80,26 @@ return rc; } + + +int gprs_gb_page_ps_ra(struct sgsn_mm_ctx *mmctx) +{ + struct bssgp_paging_info pinfo; + int rc; + + /* FIXME: page whole routing area, not only the last known cell */ + + /* 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..a39687f 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_ra(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: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Thu Oct 17 08:01:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:01:43 +0000 Subject: Change in osmo-msc[master]: make vlr_gmm_cause_to_mm_cause public In-Reply-To: References: Message-ID: laforge has submitted this change. ( 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(-) Approvals: pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified 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 80710b2..ca6f90d 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -923,8 +923,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; switch (gmm_cause) { @@ -1029,7 +1029,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: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Thu Oct 17 08:02:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:02: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: laforge 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 4: Code-Review+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: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Oct 2019 08:02: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 Oct 17 08:02:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:02:08 +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: laforge has submitted this change. ( 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, 8 insertions(+), 7 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/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c index 6026510..036c3d7 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", @@ -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: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Thu Oct 17 08:04:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:04:25 +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 7: Code-Review+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: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 17 Oct 2019 08:04: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 Oct 17 08:04:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:04:27 +0000 Subject: Change in osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: laforge has submitted this change. ( 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 Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 --- M src/common/logging.c M src/common/vty.c 2 files changed, 70 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/logging.c b/src/common/logging.c index 3315a01..8340736 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -144,7 +144,21 @@ }, }; +static int osmo_bts_filter_fn(const struct log_context *ctx, struct log_target *tgt) +{ + uint8_t *sapi = ctx->ctx[LOG_CTX_L1_SAPI]; + uint16_t *sapi_mask = tgt->filter_data[LOG_FLT_L1_SAPI]; + + if ((tgt->filter_map & (1 << LOG_FLT_L1_SAPI)) != 0 + && sapi_mask && sapi + && (*sapi_mask & (1 << *sapi)) != 0) + return 1; + + return 0; +} + const struct log_info bts_log_info = { + .filter_fn = osmo_bts_filter_fn, .cat = bts_log_info_cat, .num_cat = ARRAY_SIZE(bts_log_info_cat), }; diff --git a/src/common/vty.c b/src/common/vty.c index 801f34c..865c236 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -1600,6 +1601,45 @@ return CMD_SUCCESS; } +DEFUN(logging_fltr_l1_sapi, logging_fltr_l1_sapi_cmd, "HIDDEN", "HIDDEN") +{ + uint8_t sapi = get_string_value(l1sap_common_sapi_names, argv[0]); + struct log_target *tgt = osmo_log_vty2tgt(vty); + uint16_t **sapi_mask; + + OSMO_ASSERT(sapi != -EINVAL); + 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 << sapi); + tgt->filter_map |= (1 << LOG_FLT_L1_SAPI); + + return CMD_SUCCESS; +} + +DEFUN(no_logging_fltr_l1_sapi, no_logging_fltr_l1_sapi_cmd, "HIDDEN", "HIDDEN") +{ + uint8_t sapi = get_string_value(l1sap_common_sapi_names, argv[0]); + struct log_target *tgt = osmo_log_vty2tgt(vty); + uint16_t *sapi_mask; + + OSMO_ASSERT(sapi != -EINVAL); + 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 << sapi); + + 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, @@ -1616,11 +1656,27 @@ NO_STR "GSMTAP SAPI\n", "\n", "", 0); + logging_fltr_l1_sapi_cmd.string = vty_cmd_string_from_valstr(bts, l1sap_common_sapi_names, + "logging filter l1-sapi (", + "|", ")", VTY_DO_LOWER); + logging_fltr_l1_sapi_cmd.doc = vty_cmd_string_from_valstr(bts, l1sap_common_sapi_names, + LOGGING_STR FILTER_STR "L1 SAPI\n", + "\n", "", 0); + + no_logging_fltr_l1_sapi_cmd.string = vty_cmd_string_from_valstr(bts, l1sap_common_sapi_names, + "no logging filter l1-sapi (", + "|", ")", VTY_DO_LOWER); + no_logging_fltr_l1_sapi_cmd.doc = vty_cmd_string_from_valstr(bts, l1sap_common_sapi_names, + NO_STR LOGGING_STR FILTER_STR "L1 SAPI\n", + "\n", "", 0); + install_element_ve(&show_bts_cmd); install_element_ve(&show_trx_cmd); 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: 8 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 17 08:05:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:05:14 +0000 Subject: Change in osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Oct 2019 08:05: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 Thu Oct 17 08:05:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:05:16 +0000 Subject: Change in osmo-ci[master]: docker: chown -R build:build /usr/local In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15760 ) Change subject: docker: chown -R build:build /usr/local ...................................................................... docker: chown -R build:build /usr/local Prepare to run osmo-python-tests in docker. I've noticed that its contrib/jenkins.sh tries to write to /usr/local, which makes sense for the "update-osmo-python-on-slaves" job to actually deploy new versions. However, the same script gets called in gerrit-verifications too, and there we should definitively not install a version that is still in review to whichever random buildslave that is executing the gerrit-verification job! The follow-up patch for building most Osmocom projects in docker will fix this bug. Related: OS#3726 Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 58e1ee9..6b43911 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -84,3 +84,6 @@ DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/ulfius/*.deb && \ cd ~ && \ rm -r /tmp/ulfius + +# osmo-python-tests' contrib/jenkins.sh writes to /usr/local as user +RUN chown -R build:build /usr/local -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1de8a6d436de0b286ed3372166eceb408bab084 Gerrit-Change-Number: 15760 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel 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 Thu Oct 17 08:05:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:05:35 +0000 Subject: Change in osmo-bts[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15788 ) Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I403b9029f57fec3fdec2c1e2cbeac0f6eab53f24 --- M README.md M doc/control_interface.txt M doc/manuals/abis/rsl.adoc M doc/manuals/chapters/bts-models.adoc M doc/manuals/chapters/configuration.adoc M doc/manuals/chapters/overview.adoc M doc/manuals/rtp-amr.adoc M doc/startup.txt M include/osmo-bts/gsm_data_shared.h M src/common/abis.c M src/common/bts.c M src/common/cbch.c M src/common/handover.c M src/common/l1sap.c M src/common/load_indication.c M src/common/measurement.c M src/common/pcu_sock.c M src/common/rsl.c M src/common/scheduler.c M src/osmo-bts-litecell15/calib_file.c M src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c M src/osmo-bts-litecell15/misc/lc15bts_misc.c M src/osmo-bts-litecell15/oml.c M src/osmo-bts-oc2g/calib_file.c M src/osmo-bts-oc2g/l1_if.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c M src/osmo-bts-oc2g/misc/oc2gbts_misc.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-octphy/octphy_vty.c M src/osmo-bts-octphy/octpkt.c M src/osmo-bts-sysmo/eeprom.c M src/osmo-bts-sysmo/misc/sysmobts-layer1.c M src/osmo-bts-sysmo/misc/sysmobts_mgr.c M src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c M src/osmo-bts-sysmo/misc/sysmobts_misc.c M src/osmo-bts-sysmo/oml.c M src/osmo-bts-sysmo/sysmobts_ctrl.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c M tests/meas/meas_test.c M tests/tx_power/tx_power_test.c 44 files changed, 178 insertions(+), 178 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/README.md b/README.md index eaff165..965744f 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ as well as a [VTY Reference Manual](http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf) and a -[Abis refrence MAnual](http://ftp.osmocom.org/docs/latest/osmobts-abis.pdf) +[Abis reference MAnual](http://ftp.osmocom.org/docs/latest/osmobts-abis.pdf) describing the OsmoBTS specific A-bis dialect. Mailing List diff --git a/doc/control_interface.txt b/doc/control_interface.txt index 5ad9717..dd3dba2 100644 --- a/doc/control_interface.txt +++ b/doc/control_interface.txt @@ -4,7 +4,7 @@ h3. trx.0.thermal-attenuation -The idea of this paramter is to attenuate the system output power as part of +The idea of this parameter is to attenuate the system output power as part of thermal management. In some cases the PA might be passing a critical level, so an external control process can use this attribute to reduce the system output power. diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 86beaa2..4d7e430 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -346,7 +346,7 @@ In the classic data model established by ETSI/3GPP for A-bis, each timeslot (channel) is configured using a static channel combination by means of A-bis OML. Particularly in presence of GPRS services, this -is very unflexible and leads to inefficient use of air interface +is very inflexible and leads to inefficient use of air interface resources. As such, several methods have been implemented to overcome this diff --git a/doc/manuals/chapters/bts-models.adoc b/doc/manuals/chapters/bts-models.adoc index 31c5147..4b48d4b 100644 --- a/doc/manuals/chapters/bts-models.adoc +++ b/doc/manuals/chapters/bts-models.adoc @@ -443,7 +443,7 @@ as in the GSM network architecture provides almost all relevant configuration to the BTS from the BSC. -An example configuratin file is provided as part of the osmo-bts source +An example configuration file is provided as part of the osmo-bts source code: `doc/examples/virtual/osmobts-virtual.cfg` For more information see diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index 558bd4b..2b78620 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -14,7 +14,7 @@ === Command Line Options -Ths OsmoBTS executables (`osmo-bts-sysmo`, `osmo-bts-trx`, +The OsmoBTS executables (`osmo-bts-sysmo`, `osmo-bts-trx`, `osmo-bts-octphy`, `osmo-bts-litecell15`, ...) share the following generic command line options: diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 6b6b828..0dff16a 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -38,7 +38,7 @@ OsmoNITB, as can be seen in the following figures. [[fig-gsm-classic]] -.Classic GSM archtiecture using OsmoBTS with OsmoBTS components +.Classic GSM architecture using OsmoBTS with OsmoBTS components [graphviz] ---- digraph G { diff --git a/doc/manuals/rtp-amr.adoc b/doc/manuals/rtp-amr.adoc index 5a36aea..75f0e01 100644 --- a/doc/manuals/rtp-amr.adoc +++ b/doc/manuals/rtp-amr.adoc @@ -95,10 +95,10 @@ phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_FIRST)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -110,10 +110,10 @@ bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -123,7 +123,7 @@ the SID_FIRST frame is immediately followed by a speech frame. It has been observed that some phone does not transmit the last 4 bursts even if it is not followed by a speech frame. -ULSU2:: There must be exactly two supressed voice frames between the +ULSU2:: There must be exactly two suppressed voice frames between the SID_FIRST and the SID_UPDATE, i.e. there's 60ms between SID_FIRST and SID_UPDATE. @@ -152,52 +152,52 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -208,10 +208,10 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -254,10 +254,10 @@ ...; --- [label="Once voice is active again"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -345,10 +345,10 @@ ...; --- [label="FACCH/F Frame During DTX"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -368,10 +368,10 @@ phy => bts [label="PH-DATA.ind FACCH/F"]; bts => mgw [label="FACCH/F"]; - ms -x phy [label="Supressed L1 burst", id="ULSF2"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst", id="ULSF2"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_FIRST)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; ...; @@ -382,7 +382,7 @@ information bits are contained in sub-blocks 1-4 only Note:: It has been observed with some phones that the SID_FIRST is not sent following the FACCH/F -frame. If this case occures the No Data Frame and SID_UPDATE order resumes. +frame. If this case occurs the No Data Frame and SID_UPDATE order resumes. === TCH/AFS Downlink (Network to MS) @@ -660,10 +660,10 @@ phy => bts [label="PH-RTS.ind (TCH)"]; phy <= bts [label="PH-EMPTY-FRAME.req (FACCH/F)"]; phy <= bts [label="PH-EMPTY-FRAME.req (TCH/F)"]; - ms x- phy [label="Supressed burst"]; - ms x- phy [label="Supressed burst"]; - ms x- phy [label="Supressed burst"]; - ms x- phy [label="Supressed burst"]; + ms x- phy [label="Suppressed burst"]; + ms x- phy [label="Suppressed burst"]; + ms x- phy [label="Suppressed burst"]; + ms x- phy [label="Suppressed burst"]; } ---- @@ -738,8 +738,8 @@ phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (N)"]; bts => mgw [label="RTP (AMR FT=0..7,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr_SidFirstP1", id="ULSF1"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; @@ -753,8 +753,8 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -764,7 +764,7 @@ NOTE:: It has been observed that not all phones transmit SID_FIRST_P2 so the PH-DATA.ind GsmL1_TchPlType_Amr_SidFirstP2 is not guaranteed to be sent to the BTS. -ULSU1:: There must be exactly two supressed voice frames between the +ULSU1:: There must be exactly two suppressed voice frames between the SID_FIRST and the SID_UPDATE, i.e. there's 60ms between SID_FIRST and SID_UPDATE. @@ -795,33 +795,33 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -834,8 +834,8 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr (SID_UPDATE)"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } @@ -999,8 +999,8 @@ ...; ms .. mgw [label="FACCH/H during DTX operation"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; @@ -1026,8 +1026,8 @@ phy => bts [label="PH-DATA.ind with empty payload"]; bts -x mgw [label="Suppressed RTP frame"]; - ms -x phy [label="Supressed L1 burst"]; - ms -x phy [label="Supressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; + ms -x phy [label="Suppressed L1 burst"]; phy => bts [label="PH-DATA.ind GsmL1_TchPlType_Amr_SidFirstP1"]; bts => mgw [label="RTP (AMR FT=SID,Q=1)"]; } diff --git a/doc/startup.txt b/doc/startup.txt index 50766e4..c60cc0a 100644 --- a/doc/startup.txt +++ b/doc/startup.txt @@ -22,7 +22,7 @@ | common | bts_controlif_setup() | Initialization of Control Interface | bts-specific | bts_model_ctrl_cmds_install() | common | telnet_init() | Initialization of telnet interface -| common | pcu_sock_init() | Initializaiton of PCU socket +| common | pcu_sock_init() | Initialization of PCU socket | common | main() | Installation of signal handlers | common | abis_open() | Start of the A-bis connection to BSC | common | phy_links_open() | Iterate over list of configured PHY links diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 5d8bc76..1445ed2 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -250,7 +250,7 @@ } si; struct { uint8_t flags; - /* RSL measurment result number, 0 at lchan_act */ + /* RSL measurement result number, 0 at lchan_act */ uint8_t res_nr; /* current Tx power level of the BTS */ uint8_t bts_tx_pwr; @@ -556,7 +556,7 @@ /* list header in net->bts_list */ struct llist_head list; - /* number of ths BTS in network */ + /* number of the BTS in network */ uint8_t nr; /* human readable name / description */ char *description; @@ -622,7 +622,7 @@ /* is SI3 GPRS Indicator currently disabled due to lack of PCU connection? */ bool si3_gprs_ind_disabled; - /* ip.accesss Unit ID's have Site/BTS/TRX layout */ + /* ip.access Unit ID's have Site/BTS/TRX layout */ union { struct { uint16_t site_id; @@ -765,7 +765,7 @@ struct bts_smscb_state smscb_extended; int smscb_queue_tgt_len; /* ideal/target queue length */ int smscb_queue_max_len; /* maximum queue length */ - int smscb_queue_hyst; /* hysteresis for CBCH laod indications */ + int smscb_queue_hyst; /* hysteresis for CBCH load indications */ int16_t min_qual_rach; /* minimum link quality (in centiBels) for Access Bursts */ int16_t min_qual_norm; /* minimum link quality (in centiBels) for Normal Bursts */ diff --git a/src/common/abis.c b/src/common/abis.c index 84a3a04..24eb8a1 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -173,7 +173,7 @@ } -/* callback for incoming mesages from A-bis/IP */ +/* callback for incoming messages from A-bis/IP */ static int sign_link_cb(struct msgb *msg) { struct e1inp_sign_link *link = msg->dst; @@ -212,7 +212,7 @@ return 0; } - /* we assume that the soket is AF_INET. As Abis/IP contains + /* we assume that the socket is AF_INET. As Abis/IP contains * lots of hard-coded IPv4 addresses, this safe */ OSMO_ASSERT(sin.sin_family == AF_INET); @@ -270,7 +270,7 @@ { struct e1inp_line *line; - /* patch in various data from VTY and othe sources */ + /* patch in various data from VTY and other sources */ line_ops.cfg.ipa.addr = dst_host; osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); bts_dev_info.site_id = bts->ip_access.site_id; diff --git a/src/common/bts.c b/src/common/bts.c index 73631ae..60e27cc 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -292,7 +292,7 @@ bts_model_trx_close(trx); } - /* shedule a timer to make sure select loop logic can run again + /* schedule a timer to make sure select loop logic can run again * to dispatch any pending primitives */ osmo_timer_schedule(&shutdown_timer, 3, 0); } @@ -591,7 +591,7 @@ return 0; /* GSM 08.58, 5.7 - * -> The BTS may combine serveral IMM.ASS.REJ messages + * -> The BTS may combine several IMM.ASS.REJ messages * -> Identical request refs in one message may be squeezed * * GSM 04.08, 9.1.20.2 @@ -669,7 +669,7 @@ /* * Remove lower prio messages if the queue has grown too long. * - * \return 0 iff the number of messages in the queue would fit into the AGCH + * \return 0 if the number of messages in the queue would fit into the AGCH * reserved part of the CCCH. */ static void compact_agch_queue(struct gsm_bts *bts) diff --git a/src/common/cbch.c b/src/common/cbch.c index 7ed11c2..ebea60b 100644 --- a/src/common/cbch.c +++ b/src/common/cbch.c @@ -38,7 +38,7 @@ uint8_t num_segs; /* total number of segments */ }; -/* determine if current queue length differes more than permitted hysteresis from target +/* determine if current queue length differs more than permitted hysteresis from target * queue length. If it does, send CBCH LOAD IND */ static void check_and_send_cbch_load(struct gsm_bts *bts, struct bts_smscb_state *bts_ss) { diff --git a/src/common/handover.c b/src/common/handover.c index 63a9832..b615932 100644 --- a/src/common/handover.c +++ b/src/common/handover.c @@ -135,7 +135,7 @@ osmo_timer_schedule(&lchan->ho.t3105, 0, bts->t3105_ms * 1000); } -/* received frist valid data frame on dedicated channel */ +/* received first valid data frame on dedicated channel */ void handover_frame(struct gsm_lchan *lchan) { LOGPLCHAN(lchan, DHO, LOGL_INFO, "First valid frame detected\n"); diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 7c54380..c68dc79 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -160,7 +160,7 @@ } /* allocate a msgb containing a osmo_phsap_prim + optional l2 data - * in order to wrap femtobts header arround l2 data, there must be enough space + * in order to wrap femtobts header around l2 data, there must be enough space * in front and behind data pointer */ struct msgb *l1sap_msgb_alloc(unsigned int l2_len) { @@ -664,7 +664,7 @@ return 0; } -/* any L1 MPH_INFO indication prim recevied from bts model */ +/* any L1 MPH_INFO indication prim received from bts model */ static int l1sap_mph_info_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct mph_info_param *info) { @@ -738,7 +738,7 @@ return 0; } -/* any L1 MPH_INFO confirm prim recevied from bts model */ +/* any L1 MPH_INFO confirm prim received from bts model */ static int l1sap_mph_info_cnf(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct mph_info_param *info) { @@ -798,7 +798,7 @@ int is_ccch_for_agch(struct gsm_bts_trx *trx, uint32_t fn) { /* Note: The number of available access grant channels is set by the * parameter BS_AG_BLKS_RES via system information type 3. This SI is - * transfered to osmo-bts via RSL */ + * transferred to osmo-bts via RSL */ return l1sap_fn2ccch_block(fn) < num_agch(trx, "PH-RTS-IND"); } @@ -1008,7 +1008,7 @@ return true; } -/* TCH-RTS-IND prim recevied from bts model */ +/* TCH-RTS-IND prim received from bts model */ static int l1sap_tch_rts_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct ph_tch_param *rts_ind) { diff --git a/src/common/load_indication.c b/src/common/load_indication.c index fa4745b..8d9b56f 100644 --- a/src/common/load_indication.c +++ b/src/common/load_indication.c @@ -52,7 +52,7 @@ uint16_t buffer_space = paging_buffer_space(bts->paging_state); rsl_tx_ccch_load_ind_pch(bts, buffer_space); } else { - /* This is an extenstion of TS 08.58. We don't only + /* This is an extension of TS 08.58. We don't only * send load indications if the load is above threshold, * but we also explicitly indicate that we are below * threshold by using the magic value 0xffff */ diff --git a/src/common/measurement.c b/src/common/measurement.c index c2001da..12fd779 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -340,7 +340,7 @@ } /* We expect the lower layers to mark AMR SID_UPDATE frames already as such. - * In this function, we only deal with the comon logic as per the TS 45.008 tables */ + * In this function, we only deal with the common logic as per the TS 45.008 tables */ if (!ulm->is_sub) ulm->is_sub = ts45008_83_is_sub(lchan, fn, false); @@ -698,7 +698,7 @@ lchan->meas.num_ul_meas = 0; - /* return 1 to indicte that the computation has been done and the next + /* return 1 to indicate that the computation has been done and the next * interval begins. */ return 1; } diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 51f72d8..9fc1d4d 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -909,7 +909,7 @@ return rc; } -/* accept connection comming from PCU */ +/* accept connection coming from PCU */ static int pcu_sock_accept(struct osmo_fd *bfd, unsigned int flags) { struct pcu_sock_state *state = (struct pcu_sock_state *)bfd->data; diff --git a/src/common/rsl.c b/src/common/rsl.c index c0d43d0..de51e6f 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -285,7 +285,7 @@ } /* - * common channel releated messages + * common channel related messages */ /* 8.5.1 BCCH INFOrmation is received */ @@ -571,7 +571,7 @@ * \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 * \param[in] current input data (L3 without L2/L1 header) - * \param[in] osmo_si Sytstem Infrormation Type (SYSINFO_TYPE_*) + * \param[in] osmo_si Sytstem Information Type (SYSINFO_TYPE_*) * \param[in] len length of \a current in octets */ static inline void lapdm_ui_prefix(uint8_t *buf, uint32_t *valid, const uint8_t *current, uint8_t osmo_si, uint16_t len) { @@ -593,7 +593,7 @@ /*! Prefix a given SACCH frame with a L2/LAPDm UI header and store it in given BTS SACCH buffer * \param[out] bts BTS in whose System Information State we shall store * \param[in] current input data (L3 without L2/L1 header) - * \param[in] osmo_si Sytstem Infrormation Type (SYSINFO_TYPE_*) + * \param[in] osmo_si Sytstem Information Type (SYSINFO_TYPE_*) * \param[in] len length of \a current in octets */ static inline void lapdm_ui_prefix_bts(struct gsm_bts *bts, const uint8_t *current, uint8_t osmo_si, uint16_t len) { @@ -603,7 +603,7 @@ /*! Prefix a given SACCH frame with a L2/LAPDm UI header and store it in given lchan SACCH buffer * \param[out] lchan Logical Channel in whose System Information State we shall store * \param[in] current input data (L3 without L2/L1 header) - * \param[in] osmo_si Sytstem Infrormation Type (SYSINFO_TYPE_*) + * \param[in] osmo_si Sytstem Information Type (SYSINFO_TYPE_*) * \param[in] len length of \a current in octets */ static inline void lapdm_ui_prefix_lchan(struct gsm_lchan *lchan, const uint8_t *current, uint8_t osmo_si, uint16_t len) { diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 19fec32..3adfc49 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -896,7 +896,7 @@ rc = l1sap_up(l1t->trx, l1sap); } - /* dont send, if TCH is in signalling only mode */ + /* don't send, if TCH is in signalling only mode */ if (l1ts->chan_state[chan].rsl_cmode != RSL_CMOD_SPD_SIGN) { /* generate prim */ msg = l1sap_msgb_alloc(200); @@ -1266,7 +1266,7 @@ * There are several TDMA frames between the last processed * frame and currently received one. Let's walk through this * path and count potentially lost frames, i.e. for which - * we didn't receive the corresponsing UL bursts. + * we didn't receive the corresponding UL bursts. * * Start counting from the last_fn + 1. */ diff --git a/src/osmo-bts-litecell15/calib_file.c b/src/osmo-bts-litecell15/calib_file.c index b7049df..2641552 100644 --- a/src/osmo-bts-litecell15/calib_file.c +++ b/src/osmo-bts-litecell15/calib_file.c @@ -317,7 +317,7 @@ fseek(st->fp, 0L, SEEK_END); sz = ftell(st->fp); - /* rewind read poiner */ + /* rewind read pointer */ fseek(st->fp, 0L, SEEK_SET); /* read file */ diff --git a/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c b/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c index 80751fb..424ff18 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_mgr_vty.c @@ -584,39 +584,39 @@ lc15bts_mgr_sensor_get_state(s_mgr->state.state), VTY_NEWLINE); vty_out(vty, "Current Temperatures%s", VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_SUPPLY, &temp); - vty_out(vty, " Main Supply : %4.2f Celcius%s", + vty_out(vty, " Main Supply : %4.2f Celsius%s", temp/ 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_SOC, &temp); - vty_out(vty, " SoC : %4.2f Celcius%s", + vty_out(vty, " SoC : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_FPGA, &temp); - vty_out(vty, " FPGA : %4.2f Celcius%s", + vty_out(vty, " FPGA : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_RMSDET, &temp); - vty_out(vty, " RMSDet : %4.2f Celcius%s", + vty_out(vty, " RMSDet : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_OCXO, &temp); - vty_out(vty, " OCXO : %4.2f Celcius%s", + vty_out(vty, " OCXO : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_TX0, &temp); - vty_out(vty, " TX 0 : %4.2f Celcius%s", + vty_out(vty, " TX 0 : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_TX1, &temp); - vty_out(vty, " TX 1 : %4.2f Celcius%s", + vty_out(vty, " TX 1 : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_PA0, &temp); - vty_out(vty, " Power Amp #0: %4.2f Celcius%s", + vty_out(vty, " Power Amp #0: %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); lc15bts_temp_get(LC15BTS_TEMP_PA1, &temp); - vty_out(vty, " Power Amp #1: %4.2f Celcius%s", + vty_out(vty, " Power Amp #1: %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); diff --git a/src/osmo-bts-litecell15/misc/lc15bts_misc.c b/src/osmo-bts-litecell15/misc/lc15bts_misc.c index 2cedc5d..467b9d0 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_misc.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_misc.c @@ -363,7 +363,7 @@ case LC15BTS_FW_DSP1: fd = open(fw_sysfs[type], O_WRONLY); if (fd < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware device %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware device %s: %s\n", fw_sysfs[type], strerror(errno)); close(fd); return fd; diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index f084f1b..edc49ec 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -1724,7 +1724,7 @@ power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); } - /* FIXME: we actaully need to send a ACK or NACK for the OML message */ + /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c index 6d2d561..22122ab 100644 --- a/src/osmo-bts-oc2g/calib_file.c +++ b/src/osmo-bts-oc2g/calib_file.c @@ -307,7 +307,7 @@ fseek(st->fp, 0L, SEEK_END); sz = ftell(st->fp); - /* rewind read poiner */ + /* rewind read pointer */ fseek(st->fp, 0L, SEEK_SET); /* read file */ diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index d8be2d6..425fd0d 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1533,7 +1533,7 @@ return 0; } -/* FIXME: This delays the TRX initalization by 5 sec in order to avoid the +/* FIXME: This delays the TRX initialization by 5 sec in order to avoid the * occurrence of a race condition in the OML bringup. This a work around and * should be fixed properly. See also OS#3782, OS#2470 and OS#2469 */ void l1if_reset_cb(void *arg) diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c index 7e80e03..9693eab 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c @@ -512,35 +512,35 @@ oc2gbts_mgr_sensor_get_state(s_mgr->state.state), VTY_NEWLINE); vty_out(vty, "Current Temperatures%s", VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_SUPPLY, &temp); - vty_out(vty, " Main Supply : %4.2f Celcius%s", + vty_out(vty, " Main Supply : %4.2f Celsius%s", temp/ 1000.0f, VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_SOC, &temp); - vty_out(vty, " SoC : %4.2f Celcius%s", + vty_out(vty, " SoC : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_FPGA, &temp); - vty_out(vty, " FPGA : %4.2f Celcius%s", + vty_out(vty, " FPGA : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); if (oc2gbts_option_get(OC2GBTS_OPTION_RMS_FWD) || oc2gbts_option_get(OC2GBTS_OPTION_RMS_REFL)) { oc2gbts_temp_get(OC2GBTS_TEMP_RMSDET, &temp); - vty_out(vty, " RMSDet : %4.2f Celcius%s", + vty_out(vty, " RMSDet : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); } oc2gbts_temp_get(OC2GBTS_TEMP_OCXO, &temp); - vty_out(vty, " OCXO : %4.2f Celcius%s", + vty_out(vty, " OCXO : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); oc2gbts_temp_get(OC2GBTS_TEMP_TX, &temp); - vty_out(vty, " TX : %4.2f Celcius%s", + vty_out(vty, " TX : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA_TEMP)) { oc2gbts_temp_get(OC2GBTS_TEMP_PA, &temp); - vty_out(vty, " Power Amp : %4.2f Celcius%s", + vty_out(vty, " Power Amp : %4.2f Celsius%s", temp / 1000.0f, VTY_NEWLINE); } diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_misc.c b/src/osmo-bts-oc2g/misc/oc2gbts_misc.c index bacf07b..0d31f0b 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_misc.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_misc.c @@ -361,7 +361,7 @@ case OC2GBTS_FW_DSP: fd = open(fw_sysfs[type], O_WRONLY); if (fd < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware device %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware device %s: %s\n", fw_sysfs[type], strerror(errno)); close(fd); return fd; diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 3202409..567dd52 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -1869,7 +1869,7 @@ } - /* FIXME: we actaully need to send a ACK or NACK for the OML message */ + /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index bf2fa35..8f06b34 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -998,7 +998,7 @@ set_log_ctx_sapi(evt->LchId.bySAPI); - /* Retrive the data */ + /* Retrieve the data */ fn = evt->ulFrameNumber; ts_num = (uint8_t) evt->LchId.byTimeslotNb; sc = (uint8_t) evt->LchId.bySubChannelNb; @@ -1194,7 +1194,7 @@ /* burst timing in 1x but PCU is expecting 4X */ l1sap->u.data.ta_offs_256bits = data_ind->MeasurementInfo.sBurstTiming4x*64; snr = data_ind->MeasurementInfo.sSNRDb; - /* FIXME: better converion formulae for SnR -> C / I? + /* FIXME: better conversion formulae for SnR -> C / I? l1sap->u.data.lqual_cb = (snr ? snr : (snr - 65536)) * 10 / 256; LOGP(DL1C, LOGL_ERROR, "SnR: raw %d, computed %d\n", snr, l1sap->u.data.lqual_cb); */ @@ -1681,7 +1681,7 @@ } /* we first need to decode the common OCTPKT header and dispatch - * based on contrl (command/resp) or data (event=indication) */ + * based on control (command/resp) or data (event=indication) */ switch (format) { case cOCTVOCNET_PKT_FORMAT_CTRL: ctlh = (tOCTVOCNET_PKT_CTL_HEADER *) (msg->l1h + 4); diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index d44f721..9c5dd19 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -506,7 +506,7 @@ * sub-channel, only th request contains this information :( */ lchan = &ts->lchan[(unsigned long) data]; - /* TODO: This state machine should be shared accross BTS models? */ + /* TODO: This state machine should be shared across BTS models? */ switch (lchan->ciph_state) { case LCHAN_CIPH_RX_REQ: lchan->ciph_state = LCHAN_CIPH_RX_CONF; @@ -1191,7 +1191,7 @@ if (!no_fw_check) { LOGP(DL1C, LOGL_ERROR, - "use option -I to override the check (not recommened)\n"); + "use option -I to override the check (not recommended)\n"); LOGP(DL1C, LOGL_ERROR, "exiting...\n"); exit(1); @@ -1346,7 +1346,7 @@ if (plink->u.octphy.tx_atten_flag) { oc->RfConfig.ulTxAttndB = plink->u.octphy.tx_atten_db; } else { - /* Take the Tx Attn received in set radio attribures + /* Take the Tx Attn received in set radio attributes * x4 is for the value in db */ oc->RfConfig.ulTxAttndB = (trx->max_power_red) << 2; } diff --git a/src/osmo-bts-octphy/octphy_vty.c b/src/osmo-bts-octphy/octphy_vty.c index d250a95..afc2ce7 100644 --- a/src/osmo-bts-octphy/octphy_vty.c +++ b/src/osmo-bts-octphy/octphy_vty.c @@ -60,7 +60,7 @@ DEFUN(cfg_phy_hwaddr, cfg_phy_hwaddr_cmd, "octphy hw-addr HWADDR", - OCT_STR "Configure the hardware addess of the OCTPHY\n" + OCT_STR "Configure the hardware address of the OCTPHY\n" "hardware address in aa:bb:cc:dd:ee:ff format\n") { struct phy_link *plink = vty->index; diff --git a/src/osmo-bts-octphy/octpkt.c b/src/osmo-bts-octphy/octpkt.c index d96d93d..c6aea1f 100644 --- a/src/osmo-bts-octphy/octpkt.c +++ b/src/osmo-bts-octphy/octpkt.c @@ -101,7 +101,7 @@ #include /*! \brief Initialize a packet socket - * \param[in] tye Socket type like SOCK_RAW or SOCK_DGRAM + * \param[in] type Socket type like SOCK_RAW or SOCK_DGRAM * \param[in] proto The link-layer protocol in network byte order * \param[in] bind_dev The name of the interface to bind to (if any) * \param[in] flags flags like \ref OSMO_SOCK_F_BIND diff --git a/src/osmo-bts-sysmo/eeprom.c b/src/osmo-bts-sysmo/eeprom.c index 472b78e..6c887d4 100644 --- a/src/osmo-bts-sysmo/eeprom.c +++ b/src/osmo-bts-sysmo/eeprom.c @@ -226,12 +226,12 @@ char szSn[16]; ///< Serial number uint32_t u8Rev : 8; ///< Board revision - uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknows) - uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknows) - uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknows) + uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknown) + uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknown) + uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknown) uint32_t : 12; ///< unused } __attribute__((packed)) sysInfo; @@ -307,12 +307,12 @@ uint32_t u32Time; ///< Epoch time char szSn[16]; ///< Serial number uint32_t u8Rev : 8; ///< Board revision - uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknows) - uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknows) - uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknows) - uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknows) + uint32_t u2Tcxo : 2; ///< TCXO present (0:absent, 1:present, x:unknown) + uint32_t u2Ocxo : 2; ///< OCXO present (0:absent, 1:present, x:unknown) + uint32_t u2GSM850 : 2; ///< GSM-850 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2GSM900 : 2; ///< GSM-900 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2DCS1800 : 2; ///< GSM-1800 supported (0:unsupported, 1:supported, x:unknown) + uint32_t u2PCS1900 : 2; ///< GSM-1900 supported (0:unsupported, 1:supported, x:unknown) uint32_t : 12; ///< unused } __attribute__((packed)) sysInfo; diff --git a/src/osmo-bts-sysmo/misc/sysmobts-layer1.c b/src/osmo-bts-sysmo/misc/sysmobts-layer1.c index 4b34f50..20ca6f5 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts-layer1.c +++ b/src/osmo-bts-sysmo/misc/sysmobts-layer1.c @@ -622,7 +622,7 @@ return -1; } if (prim.u.rfClockSetupCnf.status != GsmL1_Status_Success) { - printf("Clock setup was not successfull.\n"); + printf("Clock setup was not successful.\n"); return -2; } diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c index a8289c2..50c9c22 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c @@ -312,7 +312,7 @@ LOGP(DLCTRL, LOGL_ERROR, "Can't connect to CTRL @ localhost:%u\n", OSMO_CTRL_PORT_BTS); else - LOGP(DLCTRL, LOGL_NOTICE, "CTRL connected to locahost:%u\n", + LOGP(DLCTRL, LOGL_NOTICE, "CTRL connected to localhost:%u\n", OSMO_CTRL_PORT_BTS); sysmobts_mgr_temp_init(&manager, ccon); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c index 444ee7c..fb3987b 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr_vty.c @@ -380,11 +380,11 @@ vty_out(vty, "Temperature control state: %s%s", sysmobts_mgr_temp_get_state(s_mgr->state), VTY_NEWLINE); vty_out(vty, "Current Temperatures%s", VTY_NEWLINE); - vty_out(vty, " Digital: %f Celcius%s", + vty_out(vty, " Digital: %f Celsius%s", sysmobts_temp_get(SYSMOBTS_TEMP_DIGITAL, SYSMOBTS_TEMP_INPUT) / 1000.0f, VTY_NEWLINE); - vty_out(vty, " RF: %f Celcius%s", + vty_out(vty, " RF: %f Celsius%s", sysmobts_temp_get(SYSMOBTS_TEMP_RF, SYSMOBTS_TEMP_INPUT) / 1000.0f, VTY_NEWLINE); @@ -396,8 +396,8 @@ is_sbts2050_master() ? "master" : "slave", VTY_NEWLINE); sbts2050_uc_check_temp(&temp_pa, &temp_board); - vty_out(vty, " sysmoBTS 2050 PA: %d Celcius%s", temp_pa, VTY_NEWLINE); - vty_out(vty, " sysmoBTS 2050 PA: %d Celcius%s", temp_board, VTY_NEWLINE); + vty_out(vty, " sysmoBTS 2050 PA: %d Celsius%s", temp_pa, VTY_NEWLINE); + vty_out(vty, " sysmoBTS 2050 PA: %d Celsius%s", temp_board, VTY_NEWLINE); sbts2050_uc_get_status(&status); vty_out(vty, "Power Status%s", VTY_NEWLINE); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_misc.c b/src/osmo-bts-sysmo/misc/sysmobts_misc.c index d996d64..8c93979 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_misc.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_misc.c @@ -234,14 +234,14 @@ fd_in = open(name, O_RDONLY); if (fd_in < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware file %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware file %s: %s\n", name, strerror(errno)); return fd_in; } fd_out = open(fw_devs[type], O_WRONLY); if (fd_out < 0) { - LOGP(DFW, LOGL_ERROR, "unable ot open firmware device %s: %s\n", + LOGP(DFW, LOGL_ERROR, "unable to open firmware device %s: %s\n", fw_devs[type], strerror(errno)); close(fd_in); return fd_out; diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index ea7527d..3533597 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -1746,7 +1746,7 @@ power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); } - /* FIXME: we actaully need to send a ACK or NACK for the OML message */ + /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } diff --git a/src/osmo-bts-sysmo/sysmobts_ctrl.c b/src/osmo-bts-sysmo/sysmobts_ctrl.c index 21df88e..c6dac58 100644 --- a/src/osmo-bts-sysmo/sysmobts_ctrl.c +++ b/src/osmo-bts-sysmo/sysmobts_ctrl.c @@ -94,7 +94,7 @@ SuperFemto_Prim_t *sysp = msgb_sysprim(msg); struct ctrl_cmd_def *cd; - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); sysp->id = SuperFemto_PrimId_RfClockInfoReq; @@ -136,7 +136,7 @@ SuperFemto_Prim_t *sysp = msgb_sysprim(msg); struct ctrl_cmd_def *cd; - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); /* Set GPS/PPS as reference */ @@ -197,7 +197,7 @@ * prefer to to ask the actual L1 about the currently used value to * avoid any mistakes */ - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); sysp->id = SuperFemto_PrimId_RfClockInfoReq; @@ -241,7 +241,7 @@ fl1h->clk_cal = atoi(cmd->value); - /* geneate a deferred control command */ + /* generate a deferred control command */ cd = ctrl_cmd_def_make(fl1h, cmd, NULL, 10); sysp->id = SuperFemto_PrimId_RfClockSetupReq; diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 1b8ea45..920f441 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -195,7 +195,7 @@ /*! Send a new TRX control command. * \param[inout] l1h TRX Layer1 handle to which to send command - * \param[in] criticial + * \param[in] critical * \param[in] cb callback function to be called when valid response is * received. Type of cb depends on type of message. * \param[in] cmd zero-terminated string containing command @@ -1166,7 +1166,7 @@ return plink->u.osmotrx.base_port_local + (pinst->num << 1) + inc; } -/*! open a TRX interface. creates contro + data sockets */ +/*! open a TRX interface. creates control + data sockets */ static int trx_if_open(struct trx_l1h *l1h) { struct phy_instance *pinst = l1h->phy_inst; diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index acd8ea2..58f4781 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -208,7 +208,7 @@ llist_for_each_entry(pinst, &plink->instances, list) { trx_sched_init(&pinst->u.virt.sched, pinst->trx); /* Only start the scheduler for the transceiver on C0. - * If we have multiple tranceivers, CCCH is always on C0 + * If we have multiple transceivers, CCCH is always on C0 * and has to be auto active */ /* Other TRX are activated via OML by a PRIM_INFO_MODIFY * / PRIM_INFO_ACTIVATE */ diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 83c37f3..0621eaa 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -1,4 +1,4 @@ -/* Scheduler worker functiosn for Virtua OsmoBTS */ +/* Scheduler worker functions for Virtua OsmoBTS */ /* (C) 2015-2017 by Harald Welte * (C) 2017 Sebastian Stumpf @@ -64,7 +64,7 @@ { const struct trx_chan_desc *chdesc = &trx_chan_desc[chan]; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ - uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the tranceiver the message is send with */ + uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the transceiver the message is send with */ uint8_t signal_dbm = 63; /* signal strength, 63 is best */ uint8_t snr = 63; /* signal noise ratio, 63 is best */ uint8_t *data = msgb_l2(msg); /* data to transmit (whole message without l1 header) */ diff --git a/tests/meas/meas_test.c b/tests/meas/meas_test.c index b2bf80e..c8f06b6 100644 --- a/tests/meas/meas_test.c +++ b/tests/meas/meas_test.c @@ -306,7 +306,7 @@ * received. The process must still go on when measurement indications (blocks) * are lost or otherwise spaced out. Even the complete absence of the * measurement indications from the SACCH which are used to detect the interval - * end must not keep the interval from beeing processed. */ + * end must not keep the interval from being processed. */ void test_lchan_meas_process_measurement(bool no_sacch, bool dropouts) { struct gsm_lchan *lchan = &trx->ts[2].lchan[0]; diff --git a/tests/tx_power/tx_power_test.c b/tests/tx_power/tx_power_test.c index ad3f68c..34fbeb7 100644 --- a/tests/tx_power/tx_power_test.c +++ b/tests/tx_power/tx_power_test.c @@ -238,7 +238,7 @@ /* test error case / excess power (40 dBm is too much) */ test_power_ramp(trx, 40); - /* test actaul ramping to full 33 dBm */ + /* test actual ramping to full 33 dBm */ test_power_ramp(trx, 33); while (1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I403b9029f57fec3fdec2c1e2cbeac0f6eab53f24 Gerrit-Change-Number: 15788 Gerrit-PatchSet: 2 Gerrit-Owner: roox 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 Oct 17 08:05:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:05:36 +0000 Subject: Change in osmo-bts[master]: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15790 ) Change subject: Rename variable: CALIB_SUCESS -> CALIB_SUCCESS ...................................................................... Rename variable: CALIB_SUCESS -> CALIB_SUCCESS Correct the name of this variable. Change-Id: I75cb6404d772b79933d1d9d694abf8eff1fad020 --- M src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c index a0ba649..d769ce7 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c @@ -54,7 +54,7 @@ CALIB_FAIL_START, CALIB_FAIL_GPS, CALIB_FAIL_CTRL, - CALIB_SUCESS, + CALIB_SUCCESS, }; static inline int compat_gps_read(struct gps_data_t *data) @@ -271,7 +271,7 @@ * and in case of a failure in some minutes. */ int timeout = 2 * 60 * 60; - if (outcome != CALIB_SUCESS) + if (outcome != CALIB_SUCCESS) timeout = 5 * 60; mgr->calib.calib_timeout.data = mgr; @@ -390,7 +390,7 @@ LOGP(DCALIB, LOGL_NOTICE, "Calibration process completed\n"); - calib_state_reset(mgr, CALIB_SUCESS); + calib_state_reset(mgr, CALIB_SUCCESS); } static void handle_ctrl(struct sysmobts_mgr_instance *mgr, struct msgb *msg) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I75cb6404d772b79933d1d9d694abf8eff1fad020 Gerrit-Change-Number: 15790 Gerrit-PatchSet: 2 Gerrit-Owner: roox 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 Thu Oct 17 08:06:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:06:19 +0000 Subject: Change in osmo-trx[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15787 ) Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I4ec7accb1912c052b446be7c399bed32a8c62253 --- M CommonLibs/BitVector.cpp M CommonLibs/Interthread.h M CommonLibs/LinkedLists.h M CommonLibs/Threads.h M CommonLibs/Timeval.h M CommonLibs/Vector.h M CommonLibs/trx_rate_ctr.cpp M CommonLibs/trx_vty.c M Transceiver52M/Channelizer.cpp M Transceiver52M/ChannelizerBase.cpp M Transceiver52M/ChannelizerBase.h M Transceiver52M/Complex.h M Transceiver52M/Resampler.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/arch/arm/convolve.c M Transceiver52M/arch/common/fft.c M Transceiver52M/arch/x86/convert.c M Transceiver52M/arch/x86/convolve.c M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/common/smpl_buf.h M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/device/usrp1/USRPDevice.h M Transceiver52M/proto_trxd.c M Transceiver52M/radioInterface.h M Transceiver52M/sigProcLib.cpp M Transceiver52M/sigProcLib.h M configure.ac M contrib/jenkins.sh M doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc M doc/manuals/chapters/trx-backends.adoc M doc/manuals/vty/trx_vty_reference.xml M tests/Transceiver52M/convolve_test.c 34 files changed, 40 insertions(+), 40 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/CommonLibs/BitVector.cpp b/CommonLibs/BitVector.cpp index 26b44ee..1bc8f43 100644 --- a/CommonLibs/BitVector.cpp +++ b/CommonLibs/BitVector.cpp @@ -37,7 +37,7 @@ /** - Apply a Galois polymonial to a binary seqeunce. + Apply a Galois polymonial to a binary sequence. @param val The input sequence. @param poly The polynomial. @param order The order of the polynomial. diff --git a/CommonLibs/Interthread.h b/CommonLibs/Interthread.h index 8169985..881e1a8 100644 --- a/CommonLibs/Interthread.h +++ b/CommonLibs/Interthread.h @@ -47,7 +47,7 @@ // (pat) The elements in the queue are type T*, and // the Fifo class implements the underlying queue. // The default is class PointerFIFO, which does not place any restrictions on the type of T, -// and is implemented by allocating auxilliary structures for the queue, +// and is implemented by allocating auxiliary structures for the queue, // or SingleLinkedList, which implements the queue using an internal pointer in type T, // which must implement the functional interface of class SingleLinkListNode, // namely: functions T*next() and void setNext(T*). diff --git a/CommonLibs/LinkedLists.h b/CommonLibs/LinkedLists.h index e98b41a..f5502e7 100644 --- a/CommonLibs/LinkedLists.h +++ b/CommonLibs/LinkedLists.h @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0+ * * This software is distributed under multiple licenses; see the COPYING file in -* the main directory for licensing information for this specific distribuion. +* the main directory for licensing information for this specific distribution. * * This software is distributed under the terms of the GNU Affero Public License. * See the COPYING file in the main directory for details. diff --git a/CommonLibs/Threads.h b/CommonLibs/Threads.h index df61c72..5ff137b 100644 --- a/CommonLibs/Threads.h +++ b/CommonLibs/Threads.h @@ -186,7 +186,7 @@ } } - /** Send cancelation to thread */ + /** Send cancellation to thread */ void cancel() { pthread_cancel(mThread); } }; diff --git a/CommonLibs/Timeval.h b/CommonLibs/Timeval.h index 0826c12..18ea4b4 100644 --- a/CommonLibs/Timeval.h +++ b/CommonLibs/Timeval.h @@ -84,7 +84,7 @@ uint32_t usec() const { return mTimespec.tv_nsec / 1000; } uint32_t nsec() const { return mTimespec.tv_nsec; } - /** Return differnce from other (other-self), in ms. */ + /** Return difference from other (other-self), in ms. */ long delta(const Timeval& other) const; /** Elapsed time in ms. */ diff --git a/CommonLibs/Vector.h b/CommonLibs/Vector.h index 0970248..012a0fa 100644 --- a/CommonLibs/Vector.h +++ b/CommonLibs/Vector.h @@ -36,7 +36,7 @@ #include #include -// We cant use Logger.h in this file... +// We can't use Logger.h in this file... extern int gVectorDebug; #define BVDEBUG(msg) if (gVectorDebug) {std::cout << msg;} diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp index a9ef88c..1b44b13 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -38,7 +38,7 @@ * That signal is processed here in device_sig_cb, where a copy of the "struct * device_counters" structure is held and the main thread is instructed through * a timerfd to update rate_ctr APIs against this copy. All this is done inside - * a mutex to avoid different race conditons (between Rx andTx threads, and + * a mutex to avoid different race conditions (between Rx andTx threads, and * between Rx/Tx and main thread). For the same reason, callers of signal * (device_sig_cb), that is Rx/Tx threads, * must do so with PTHREAD_CANCEL_DISABLE, in order to avoid possible deadlocks diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index df0114a..2c7ecc2 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -222,7 +222,7 @@ DEFUN(cfg_clock_ref, cfg_clock_ref_cmd, "clock-ref (internal|external|gpsdo)", "Set the Reference Clock\n" - "Enable internal referece (default)\n" + "Enable internal reference (default)\n" "Enable external 10 MHz reference\n" "Enable GPSDO reference\n") { diff --git a/Transceiver52M/Channelizer.cpp b/Transceiver52M/Channelizer.cpp index 341cd0a..0522f20 100644 --- a/Transceiver52M/Channelizer.cpp +++ b/Transceiver52M/Channelizer.cpp @@ -98,7 +98,7 @@ return true; } -/* Setup channelizer paramaters */ +/* Setup channelizer parameters */ Channelizer::Channelizer(size_t m, size_t blockLen, size_t hLen) : ChannelizerBase(m, blockLen, hLen) { diff --git a/Transceiver52M/ChannelizerBase.cpp b/Transceiver52M/ChannelizerBase.cpp index f3f07c1..e6eeed2 100644 --- a/Transceiver52M/ChannelizerBase.cpp +++ b/Transceiver52M/ChannelizerBase.cpp @@ -225,7 +225,7 @@ } /* - * Setup channelizer paramaters + * Setup channelizer parameters */ ChannelizerBase::ChannelizerBase(size_t m, size_t blockLen, size_t hLen) : subFilters(NULL), hInputs(NULL), hOutputs(NULL), hist(NULL), diff --git a/Transceiver52M/ChannelizerBase.h b/Transceiver52M/ChannelizerBase.h index 7da506b..025ff25 100644 --- a/Transceiver52M/ChannelizerBase.h +++ b/Transceiver52M/ChannelizerBase.h @@ -32,7 +32,7 @@ /* Buffer length validity checking */ bool checkLen(size_t innerLen, size_t outerLen); public: - /* Initilize channelizer/synthesis filter internals */ + /* Initialize channelizer/synthesis filter internals */ bool init(); }; diff --git a/Transceiver52M/Complex.h b/Transceiver52M/Complex.h index d02944b..6e72346 100644 --- a/Transceiver52M/Complex.h +++ b/Transceiver52M/Complex.h @@ -5,7 +5,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/Resampler.h b/Transceiver52M/Resampler.h index 139b857..5af8d26 100644 --- a/Transceiver52M/Resampler.h +++ b/Transceiver52M/Resampler.h @@ -35,12 +35,12 @@ Resampler(size_t p, size_t q, size_t filt_len = 16); ~Resampler(); - /* Initilize resampler filterbank. + /* Initialize resampler filterbank. * @param bw bandwidth factor on filter generation (pre-window) * @return false on error, zero otherwise * * Automatic setting is to compute the filter to prevent aliasing with - * a Blackman-Harris window. Adjustment is made through a bandwith + * a Blackman-Harris window. Adjustment is made through a bandwidth * factor to shift the cutoff and/or the constituent filter lengths. * Calculation of specific rolloff factors or 3-dB cutoff points is * left as an excersize for the reader. diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 2f4018c..9697bb3 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -909,7 +909,7 @@ sprintf(response, "RSP SETFORMAT %u %u", version_recv, version_recv); } } else if (match_cmd(command, "_SETBURSTTODISKMASK", ¶ms)) { - // debug command! may change or disapear without notice + // debug command! may change or disappear without notice // set a mask which bursts to dump to disk int mask; sscanf(params, "%d", &mask); diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 30f6a60..ed063dd 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -216,7 +216,7 @@ bool start(); void stop(); - /** Protect destructor accessable stop call */ + /** Protect destructor accessible stop call */ Mutex mLock; protected: diff --git a/Transceiver52M/arch/arm/convolve.c b/Transceiver52M/arch/arm/convolve.c index 63b1655..adb718d 100644 --- a/Transceiver52M/arch/arm/convolve.c +++ b/Transceiver52M/arch/arm/convolve.c @@ -58,7 +58,7 @@ } #endif -/* API: Initalize convolve module */ +/* API: Initialize convolve module */ void convolve_init(void) { /* Stub */ diff --git a/Transceiver52M/arch/common/fft.c b/Transceiver52M/arch/common/fft.c index ad096b1..2261672 100644 --- a/Transceiver52M/arch/common/fft.c +++ b/Transceiver52M/arch/common/fft.c @@ -103,7 +103,7 @@ } /*! \brief Run multiple DFT operations with the initialized plan - * \param[in] hdl handle to an intitialized fft struct + * \param[in] hdl handle to an initialized fft struct * * Input and output buffers are configured with init_fft(). */ diff --git a/Transceiver52M/arch/x86/convert.c b/Transceiver52M/arch/x86/convert.c index 07cdf59..bbcfd67 100644 --- a/Transceiver52M/arch/x86/convert.c +++ b/Transceiver52M/arch/x86/convert.c @@ -27,7 +27,7 @@ #include "config.h" #endif -/* Architecture dependant function pointers */ +/* Architecture dependent function pointers */ struct convert_cpu_context { void (*convert_si16_ps_16n) (float *, const short *, int); void (*convert_si16_ps) (float *, const short *, int); diff --git a/Transceiver52M/arch/x86/convolve.c b/Transceiver52M/arch/x86/convolve.c index 209d377..66fca74 100644 --- a/Transceiver52M/arch/x86/convolve.c +++ b/Transceiver52M/arch/x86/convolve.c @@ -27,7 +27,7 @@ #include "config.h" #endif -/* Architecture dependant function pointers */ +/* Architecture dependent function pointers */ struct convolve_cpu_context { void (*conv_cmplx_4n) (const float *, int, const float *, int, float *, int, int, int); @@ -66,7 +66,7 @@ int bounds_check(int x_len, int h_len, int y_len, int start, int len); -/* API: Initalize convolve module */ +/* API: Initialize convolve module */ void convolve_init(void) { c.conv_cmplx_4n = (void *)_base_convolve_complex; diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index d27a52c..26903e8 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -1,7 +1,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/device/common/smpl_buf.h b/Transceiver52M/device/common/smpl_buf.h index 383c814..ab612de 100644 --- a/Transceiver52M/device/common/smpl_buf.h +++ b/Transceiver52M/device/common/smpl_buf.h @@ -33,7 +33,7 @@ /* Sample Buffer - Allows reading and writing of timed samples using osmo-trx timestamps. Time conversions are handled - internally or accessable through the static convert calls. + internally or accessible through the static convert calls. */ class smpl_buf { public: diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index feeb646..b5993b8 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -624,7 +624,7 @@ m_ctr[chan].rx_overruns += status.overrun; /* Dropped packets in Rx are counted when gaps in Rx timestamps are - detected (likely because buffer oveflow in hardware). Value count + detected (likely because buffer overflow in hardware). Value count since the last call to LMS_GetStreamStatus(stream). */ if (status.droppedPackets) { changed = true; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 1464c53..003d064 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0+ * * This software is distributed under multiple licenses; see the COPYING file in -* the main directory for licensing information for this specific distribuion. +* the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index bb70648..6dfa5f0 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0+ * * This software is distributed under multiple licenses; see the COPYING file in -* the main directory for licensing information for this specific distribuion. +* the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/Transceiver52M/proto_trxd.c b/Transceiver52M/proto_trxd.c index fbef77a..5a898b9 100644 --- a/Transceiver52M/proto_trxd.c +++ b/Transceiver52M/proto_trxd.c @@ -72,7 +72,7 @@ if(bi->idle) return true; - /* +2: Historically (OpenBTS times), two extra non-used bytes are sent appeneded to each burst */ + /* +2: Historically (OpenBTS times), two extra non-used bytes are sent appended to each burst */ char buf[sizeof(struct trxd_hdr_v0) + bi->nbits + 2]; struct trxd_hdr_v0* pkt = (struct trxd_hdr_v0*)buf; diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index d72fb69..d9fa414 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -1,7 +1,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. @@ -79,7 +79,7 @@ bool start(); bool stop(); - /** intialization */ + /** initialization */ virtual bool init(int type); virtual void close(); diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp index 011ddff..04f7e30 100644 --- a/Transceiver52M/sigProcLib.cpp +++ b/Transceiver52M/sigProcLib.cpp @@ -345,7 +345,7 @@ _x = x; /* - * Four convovle types: + * Four convolve types: * 1. Complex-Real (aligned) * 2. Complex-Complex (aligned) * 3. Complex-Real (!aligned) @@ -723,7 +723,7 @@ * * Delay the EDGE downlink bursts by one symbol in order to match GMSK pulse * shaping group delay. The difference in group delay arises from the dual - * pulse filter combination of the GMSK Laurent represenation whereas 8-PSK + * pulse filter combination of the GMSK Laurent representation whereas 8-PSK * uses a single pulse linear filter. */ static signalVector *shapeEdgeBurst(const signalVector &symbols) diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h index fd9a5f0..dd03190 100644 --- a/Transceiver52M/sigProcLib.h +++ b/Transceiver52M/sigProcLib.h @@ -1,7 +1,7 @@ /* * Copyright 2008 Free Software Foundation, Inc. * -* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribuion. +* This software is distributed under multiple licenses; see the COPYING file in the main directory for licensing information for this specific distribution. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. diff --git a/configure.ac b/configure.ac index 350c77c..d5463e9 100644 --- a/configure.ac +++ b/configure.ac @@ -65,7 +65,7 @@ dnl Checks for header files. AC_HEADER_STDC -dnl This is required for GnuRadio includes to understand endianess correctly: +dnl This is required for GnuRadio includes to understand endianness correctly: AC_CHECK_HEADERS([byteswap.h]) dnl Checks for typedefs, structures, and compiler characteristics. diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index f3f5ed9..84e4ea7 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -15,7 +15,7 @@ mychroot_nocwd() { # LC_ALL + LANGUAGE set to avoid lots of print errors due to locale not being set inside container # PATH is needed to be able to reach binaries like ldconfig without logging in to root, which adds the paths to PATH. - # PROOT_NO_SECCOMP is requried due to proot bug #106 + # PROOT_NO_SECCOMP is required due to proot bug #106 LC_ALL=C LANGUAGE=C PATH="$PATH:/usr/sbin:/sbin" PROOT_NO_SECCOMP=1 proot -r "$ROOTFS" -w / -b /proc --root-id -q qemu-arm-static "$@" } diff --git a/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc b/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc index dac77e0..693bb60 100644 --- a/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc +++ b/doc/manuals/chapters/device-usrp-inband-signaling-usb.adoc @@ -3,7 +3,7 @@ This section specifies the format of USB packets used for in-band data transmission and signaling on the USRP1. All packets are 512-byte long, and are -transfered using USB "bulk" transfers. +transferred using USB "bulk" transfers. IN packets are sent towards the host. OUT packets are sent away from the host. diff --git a/doc/manuals/chapters/trx-backends.adoc b/doc/manuals/chapters/trx-backends.adoc index fb1e960..78bc45d 100644 --- a/doc/manuals/chapters/trx-backends.adoc +++ b/doc/manuals/chapters/trx-backends.adoc @@ -12,7 +12,7 @@ for legacy @osmo-trx@ binary when per-backend binaries didn't exist yet. Any device providing generic support for UHD should theoretically be able to be -run through this backend without much effort, but pracitcal experience showed +run through this backend without much effort, but practical experience showed that some devices don't play well with it, such as the LimeSDR family of devices, which showed far better results when using its native interface. diff --git a/doc/manuals/vty/trx_vty_reference.xml b/doc/manuals/vty/trx_vty_reference.xml index 38d64c1..8738235 100644 --- a/doc/manuals/vty/trx_vty_reference.xml +++ b/doc/manuals/vty/trx_vty_reference.xml @@ -1196,7 +1196,7 @@ - + diff --git a/tests/Transceiver52M/convolve_test.c b/tests/Transceiver52M/convolve_test.c index cda5385..168c847 100644 --- a/tests/Transceiver52M/convolve_test.c +++ b/tests/Transceiver52M/convolve_test.c @@ -146,9 +146,9 @@ float *h; float *y; - int x_len; /* Theses are in # of _floats_ ! */ - int h_len; /* Theses are in # of _floats_ ! */ - int y_len; /* Theses are in # of _floats_ ! */ + int x_len; /* These are in # of _floats_ ! */ + int h_len; /* These are in # of _floats_ ! */ + int y_len; /* These are in # of _floats_ ! */ }; /* Reset test vectors */ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4ec7accb1912c052b446be7c399bed32a8c62253 Gerrit-Change-Number: 15787 Gerrit-PatchSet: 2 Gerrit-Owner: roox 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 Oct 17 08:07:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:07:42 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by roox. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 --- M src/host/layer23/README M src/host/layer23/include/osmocom/bb/common/sysinfo.h M src/host/layer23/include/osmocom/bb/mobile/gsm322.h M src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h M src/host/layer23/include/osmocom/bb/mobile/mncc.h M src/host/layer23/src/common/main.c M src/host/layer23/src/common/sap_proto.c M src/host/layer23/src/common/sim.c M src/host/layer23/src/common/sysinfo.c M src/host/layer23/src/misc/app_bcch_scan.c M src/host/layer23/src/misc/app_cbch_sniff.c M src/host/layer23/src/misc/app_ccch_scan.c M src/host/layer23/src/misc/cell_log.c M src/host/layer23/src/mobile/app_mobile.c M src/host/layer23/src/mobile/gsm322.c M src/host/layer23/src/mobile/gsm411_sms.c M src/host/layer23/src/mobile/gsm480_ss.c M src/host/layer23/src/mobile/gsm48_cc.c M src/host/layer23/src/mobile/gsm48_mm.c M src/host/layer23/src/mobile/gsm48_rr.c M src/host/layer23/src/mobile/main.c M src/host/layer23/src/mobile/mncc_sock.c M src/host/layer23/src/mobile/mnccms.c M src/host/layer23/src/mobile/script_lua.c M src/host/layer23/src/mobile/vty_interface.c M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/logging.c M src/host/virt_phy/src/virt_prim_pm.c M src/target/firmware/apps/rssi/main.c M src/target/firmware/board/compal/highram.lds M src/target/firmware/board/compal/ram.lds M src/target/firmware/board/mediatek/ram.lds M src/target/firmware/calypso/sim.c M src/target/firmware/comm/sercomm.c M src/target/firmware/fb/fb_rgb332.c M src/target/firmware/fb/fb_s6b33b1x.c M src/target/firmware/include/abb/twl3025.h M src/target/firmware/include/calypso/dsp_api.h M src/target/firmware/include/calypso/l1_environment.h M src/target/firmware/include/calypso/sim.h M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/layer1/sync.h M src/target/firmware/layer1/l23_api.c M src/target/firmware/layer1/prim_fbsb.c M src/target/firmware/layer1/prim_tch.c M src/target/firmware/layer1/sync.c M src/target/firmware/lib/vsprintf.c M src/target/firmware/rf/trf6151.c M src/target/trx_toolkit/data_dump.py M src/target_dsp/calypso/dump2coff.py 52 files changed, 140 insertions(+), 140 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/89/15789/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 3 Gerrit-Owner: roox 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 Thu Oct 17 08:07:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 17 Oct 2019 08:07:50 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 3 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 17 Oct 2019 08:07: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 Oct 17 08:54:14 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Oct 2019 08:54:14 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number 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/+/15757 to look at the new patch set (#2). Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... scheduler_trx: use gsm0502_fn_remap() to calculate frame number When sched_compose_tch_ind, sched_compose_ph_data_ind or l1if_process_meas_res is called from rx_tchf_fn or rx_tchh_fn the frame number of the beginning of the block is required. At the moment this frame number is calculated wrongly using strange formulas. Lets use gsm0502_fn_remap() to calculate the beginning of the block properly Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Depends: libosmocore I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Related: OS#3803 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 28 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/57/15757/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Thu Oct 17 08:54:41 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 17 Oct 2019 08:54:41 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number 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/+/15757 to look at the new patch set (#3). Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... scheduler_trx: use gsm0502_fn_remap() to calculate frame number When sched_compose_tch_ind, sched_compose_ph_data_ind or l1if_process_meas_res is called from rx_tchf_fn or rx_tchh_fn the frame number of the beginning of the block is required. At the moment this frame number is calculated wrongly using strange formulas. Lets use gsm0502_fn_remap() to calculate the beginning of the block properly Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Depends: libosmocore I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Related: OS#3803 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 35 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/57/15757/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Thu Oct 17 11:41:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Oct 2019 11:41:52 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: ss7: Fix trailing whitespace 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-sccp/+/15800 to look at the new patch set (#2). Change subject: cosmetic: ss7: Fix trailing whitespace ...................................................................... cosmetic: ss7: Fix trailing whitespace Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b --- M src/osmo_ss7.c M src/xua_default_lm_fsm.c M src/xua_rkm.c 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/00/15800/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b Gerrit-Change-Number: 15800 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 Oct 17 11:41:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Oct 2019 11:41:53 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set configured AS traffic mode when sending Routing Key Register... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 ) Change subject: ss7: Set configured AS traffic mode when sending Routing Key Register msg ...................................................................... ss7: Set configured AS traffic mode when sending Routing Key Register msg Otherwise default OSMO_SS7_AS_TMOD_OVERRIDE=0 value is always set regardless of the VTY config "traffic-mode" under AS node. Related: OS#4220 Change-Id: I5d24772f07e77cc3ba6edfa819bb9bc0266a1064 --- M src/xua_default_lm_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/03/15803/1 diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c index 880f89c..338f4ae 100644 --- a/src/xua_default_lm_fsm.c +++ b/src/xua_default_lm_fsm.c @@ -184,6 +184,7 @@ } /* Fill in settings from first AS (TODO: multiple AS support) */ prim->u.rk_reg.key = as->cfg.routing_key; + prim->u.rk_reg.traf_mode = as->cfg.mode; osmo_xlm_sap_down(lmp->asp, &prim->oph); break; case T_WAIT_NOTIFY_RKM: -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5d24772f07e77cc3ba6edfa819bb9bc0266a1064 Gerrit-Change-Number: 15803 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 Oct 17 11:41:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 17 Oct 2019 11:41:54 +0000 Subject: Change in libosmo-sccp[master]: ss7: Only override traffic mode from recv REG REQ if not set by VTY References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 ) Change subject: ss7: Only override traffic mode from recv REG REQ if not set by VTY ...................................................................... ss7: Only override traffic mode from recv REG REQ if not set by VTY RFC 4666 (SS7/MTP3/M3UA) states in isection 4.3.4.3 ASP Active Procedures: """ If the traffic handling mode of the Application Server is not already known via configuration data, then the traffic handling mode indicated in the first ASP Active message causing the transition of the Application Server state to AS-ACTIVE MAY be used to set the mode. """ In section 3.6.1 Registration Request (REG REQ), no related information is provided on how to handle it, but still makes sense to apply same behavior as in 4.3.4.3. Related: OS#4220 Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/xua_rkm.c 5 files changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/04/15804/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 224f6bc..37a636e 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -9,3 +9,4 @@ #library what description / commit summary line libosmo-sigtran osmo_ss7_asp_peer ABI breakage (host is now an array of strings) libosmo-sigtran osmo_ss7_as ABI breakage (added field last_asp_idx_sent) +libosmo-sigtran osmo_ss7_as ABI breakage (added field mode_set_by_vty) diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index aa61d82..d6a7381 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -309,6 +309,7 @@ enum osmo_ss7_asp_protocol proto; struct osmo_ss7_routing_key routing_key; enum osmo_ss7_as_traffic_mode mode; + bool mode_set_by_vty; uint32_t recovery_timeout_msec; uint8_t qos_class; struct { diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 894a13e..0901414 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -2050,12 +2050,13 @@ { switch (in) { case M3UA_TMOD_OVERRIDE: - default: return OSMO_SS7_AS_TMOD_OVERRIDE; case M3UA_TMOD_LOADSHARE: return OSMO_SS7_AS_TMOD_LOADSHARE; case M3UA_TMOD_BCAST: return OSMO_SS7_AS_TMOD_BCAST; + default: + OSMO_ASSERT(false); } } diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index bc0a0cb..d1daa60 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -811,6 +811,7 @@ struct osmo_ss7_as *as = vty->index; as->cfg.mode = get_string_value(osmo_ss7_as_traffic_mode_vals, argv[0]); + as->cfg.mode_set_by_vty = true; return CMD_SUCCESS; } diff --git a/src/xua_rkm.c b/src/xua_rkm.c index f1ac551..79a0ca2 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -151,7 +151,6 @@ unsigned int max_nas_idx, unsigned int *nas_idx) { uint32_t rk_id, rctx, _tmode, dpc; - enum osmo_ss7_as_traffic_mode tmode; struct osmo_ss7_as *as; struct osmo_ss7_route *rt; char namebuf[32]; @@ -170,8 +169,6 @@ return -1; } - tmode = osmo_ss7_tmode_from_xua(_tmode); - /* destination point code (mandatory) */ dpc = xua_msg_get_u32(inner, M3UA_IEI_DEST_PC); @@ -219,6 +216,8 @@ msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INVAL_RKEY, 0); return -1; } + if (!as->cfg.mode_set_by_vty && _tmode) + as->cfg.mode = osmo_ss7_tmode_from_xua(_tmode); } else if (asp->inst->cfg.permit_dyn_rkm_alloc) { /* Create an AS for this routing key */ snprintf(namebuf, sizeof(namebuf), "as-rkm-%u", rctx); @@ -231,7 +230,8 @@ as->cfg.description = talloc_strdup(as, "Auto-generated by RKM"); as->rkm_dyn_allocated = true; - as->cfg.mode = tmode; + if (!as->cfg.mode_set_by_vty && _tmode) + as->cfg.mode = osmo_ss7_tmode_from_xua(_tmode); /* fill routing key */ as->cfg.routing_key.pc = dpc; as->cfg.routing_key.context = rctx; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 Gerrit-Change-Number: 15804 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Oct 18 01:45:26 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 18 Oct 2019 01:45:26 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5da91945ea52e_406e2ad09706a5f8765914@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 173s] | #define HAVE_DLFCN_H 1 [ 173s] | #define LT_OBJDIR ".libs/" [ 173s] | #define STDC_HEADERS 1 [ 173s] | #define HAVE_EXECINFO_H 1 [ 173s] | #define HAVE_SYS_SELECT_H 1 [ 173s] | #define HAVE_SYS_SOCKET_H 1 [ 173s] | #define HAVE_SYSLOG_H 1 [ 173s] | #define HAVE_CTYPE_H 1 [ 173s] | #define HAVE_LIBSCTP 1 [ 173s] | #define HAVE_PCAP_H 1 [ 173s] | [ 173s] | configure: exit 0 [ 173s] [ 173s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 173s] make[1]: *** [override_dh_auto_test] Error 1 [ 173s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 173s] debian/rules:13: recipe for target 'build' failed [ 173s] make: *** [build] Error 2 [ 173s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 173s] [ 173s] cloud120 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 18 01:45:18 UTC 2019. [ 173s] [ 173s] ### VM INTERACTION START ### [ 174s] Powering off. [ 174s] [ 149.301562] reboot: Power down [ 175s] ### VM INTERACTION END ### [ 175s] [ 175s] cloud120 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 18 01:45:22 UTC 2019. [ 175s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Oct 18 01:52:51 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 18 Oct 2019 01:52:51 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5da91b0a37ab3_406e2ad09706a5f877096f@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: [ 69s] | #define HAVE_DLFCN_H 1 [ 69s] | #define LT_OBJDIR ".libs/" [ 69s] | #define STDC_HEADERS 1 [ 69s] | #define HAVE_EXECINFO_H 1 [ 69s] | #define HAVE_SYS_SELECT_H 1 [ 69s] | #define HAVE_SYS_SOCKET_H 1 [ 69s] | #define HAVE_SYSLOG_H 1 [ 69s] | #define HAVE_CTYPE_H 1 [ 69s] | #define HAVE_LIBSCTP 1 [ 69s] | #define HAVE_PCAP_H 1 [ 69s] | [ 69s] | configure: exit 0 [ 69s] [ 69s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 69s] make[1]: *** [override_dh_auto_test] Error 1 [ 69s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 69s] debian/rules:13: recipe for target 'build' failed [ 69s] make: *** [build] Error 2 [ 69s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 69s] [ 69s] build82 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 18 01:52:42 UTC 2019. [ 69s] [ 69s] ### VM INTERACTION START ### [ 70s] Powering off. [ 70s] [ 61.980895] reboot: Power down [ 70s] ### VM INTERACTION END ### [ 70s] [ 70s] build82 failed "build libosmo-netif_0.6.0.10.c252.dsc" at Fri Oct 18 01:52:45 UTC 2019. [ 70s] -- 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 Oct 18 08:09:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:09:40 +0000 Subject: Change in osmo-bts[master]: vty.c: remove assert for always true condition References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: remove assert for always true condition ...................................................................... vty.c: remove assert for always true condition Remove OSMO_ASSERT(sapi != -EINVAL) statements, because sapi is an uint8_t and therefore can never be less than zero. Fixes: CID#205066, CID#205069 Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 --- M src/common/vty.c 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/05/15805/1 diff --git a/src/common/vty.c b/src/common/vty.c index 865c236..7c043e1 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1607,7 +1607,6 @@ struct log_target *tgt = osmo_log_vty2tgt(vty); uint16_t **sapi_mask; - OSMO_ASSERT(sapi != -EINVAL); if (!tgt) return CMD_WARNING; @@ -1628,7 +1627,6 @@ struct log_target *tgt = osmo_log_vty2tgt(vty); uint16_t *sapi_mask; - OSMO_ASSERT(sapi != -EINVAL); if (!tgt) return CMD_WARNING; if (!tgt->filter_data[LOG_FLT_L1_SAPI]) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 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 Oct 18 08:09:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:09:40 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15806 ) Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... vty.c: avoid coverity BAD_SHIFT issues Make it obvious for compilers and for coverity, that the sapi value used to shift a bit for the sapi_mask is always <= 31. The sapi value is an index of the value string l1sap_common_sapi_names, which has 24 entries. Fixes: CID#205067, CID#205068 Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b --- M src/common/vty.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/15806/1 diff --git a/src/common/vty.c b/src/common/vty.c index 7c043e1..a202507 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1615,7 +1615,10 @@ if (!*sapi_mask) *sapi_mask = talloc(tgt, uint16_t); - **sapi_mask |= (1 << sapi); + if (sapi <= 31) + **sapi_mask |= (1 << sapi); + else + LOGP(DL1P, LOGL_ERROR, "failed to set logging filter for L1 SAPI, can't shift by %i\n", sapi); tgt->filter_map |= (1 << LOG_FLT_L1_SAPI); return CMD_SUCCESS; @@ -1633,7 +1636,8 @@ return CMD_SUCCESS; sapi_mask = (uint16_t *)tgt->filter_data[LOG_FLT_L1_SAPI]; - *sapi_mask &= ~(1 << sapi); + if (sapi <= 31) /* avoid coverity BAD_SHIFT */ + *sapi_mask &= ~(1 << sapi); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 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 Oct 18 08:38:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:38:58 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: build almost all in docker In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15584 ) Change subject: gerrit, master builds: build almost all in docker ...................................................................... gerrit, master builds: build almost all in docker Instead of building some projects in docker, and some directly on the build slave, build almost all of them in docker with few exceptions, and make building in docker the default. 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 * fix osmo-python-tests gerrit review versions being installed to /usr/local of build slave (see previous commit message) Projects that still do not get built in docker: * openggsn: depends on libgtpnl, but does not build it in jenkins.sh * osmo-bts: l1headers, various SDKs not installed in the docker image * osmo-trx: LimeSuite is not in the docker image (and just installing the debian package does not work) * osmo-ttcn3-hacks: TTCN-3 not installed in docker image * pysim: needs to access real sim cards attached to the host * sysmo-usim-tool: needs to access real sim cards attached to the host Related: OS#3726, OS#3598 Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 34 insertions(+), 42 deletions(-) Approvals: laforge: 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 693d3c3..83c7169 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -39,7 +39,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}' @@ -49,20 +49,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} {docker_img} /build/contrib/jenkins_arch.sh "$arch"' - libsmpp34 - libtelnet @@ -90,7 +88,6 @@ - osmo-bsc: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -120,19 +117,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" \ + {docker_img} /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 @@ -195,8 +191,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 @@ -208,9 +203,9 @@ concurrent: true combination_filter: > (INSTR == "--with-sse" && WITH_MANUALS == "1") + cmd: 'ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh' - - osmocom-bb: - cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + - osmocom-bb - osmo-tetra - osmo-sysmon - osmo-remsim @@ -222,6 +217,7 @@ - pysim: slave_axis: !!python/tuple [simtester] + cmd: './contrib/jenkins.sh' - osmo-ttcn3-hacks: repos_url: 'https://gerrit.osmocom.org/{repos}' diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 854b991..138807e 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -18,7 +18,8 @@ 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 is for uploading manual PDFs # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764) docker_run: | ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" @@ -40,7 +41,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 @@ -72,10 +73,12 @@ - libosmo-dsp: cmd: | - autoreconf --install --force - ./configure - $MAKE $PARALLEL_MAKE - $MAKE distcheck + {docker_run} \ + {docker_img} 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 @@ -104,13 +107,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} {docker_img} /build/contrib/jenkins_arch.sh "$arch"' # Full triggers would be: # trigger: > # master-libosmo-abis, master-libosmo-netif, master-libosmo-sccp, master-openbsc, @@ -173,7 +175,6 @@ - osmo-bsc: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -202,7 +203,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" \ + {docker_img} /build/contrib/jenkins.sh trigger: master-osmo-sgsn - osmo-gmr: @@ -210,17 +215,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} {docker_img} /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: @@ -231,7 +232,6 @@ - osmo-mgw: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' trigger: master-osmo-msc, master-osmo-bsc - osmo-msc: @@ -297,7 +297,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 @@ -312,17 +311,14 @@ concurrent: true combination_filter: > (INSTR == "--with-sse" && WITH_MANUALS == "1") - cmd: PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: 'PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./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} {docker_img} /build/contrib/jenkins.sh --publish' email: gerrit-log at lists.osmocom.org laforge at gnumonks.org kredon at sysmocom.de - gapk -- 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: 8 Gerrit-Owner: osmith 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 Oct 18 08:44:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:44:24 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: default to concurrent: true In-Reply-To: References: Message-ID: Hello pespin, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/15585 to look at the new patch set (#8). Change subject: gerrit, master builds: default to concurrent: true ...................................................................... gerrit, master builds: default to concurrent: true Now that almost everything runs in docker, we don't need to worry about problems with running VTY/CTRL tests in parallel for these projects. Related: OS#3726 Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 12 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/85/15585/8 -- 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: 8 Gerrit-Owner: osmith 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 Oct 18 08:45:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:45:01 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: default to concurrent: true In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15585 ) Change subject: gerrit, master builds: default to concurrent: true ...................................................................... Patch Set 8: Code-Review+2 Rebased on master to fix merge conflict, re-applying +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: 8 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 08:45: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 Oct 18 08:45:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:45:09 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: default to concurrent: true In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15585 ) Change subject: gerrit, master builds: default to concurrent: true ...................................................................... Patch Set 8: Verified+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: 8 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 08:45: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 Oct 18 08:45:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:45:33 +0000 Subject: Change in osmo-ci[master]: gerrit, master builds: default to concurrent: true In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15585 ) Change subject: gerrit, master builds: default to concurrent: true ...................................................................... gerrit, master builds: default to concurrent: true Now that almost everything runs in docker, we don't need to worry about problems with running VTY/CTRL tests in parallel for these projects. Related: OS#3726 Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 12 insertions(+), 24 deletions(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 83c7169..5f4385a 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] @@ -46,10 +46,7 @@ # in alphabetical order repos: - asn1c - - - cellmgr-ng: - concurrent: true - + - cellmgr-ng - libasn1c - libgtpnl - libosmo-abis @@ -73,7 +70,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" \ @@ -84,10 +80,10 @@ - openggsn: a1_name: GTP a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] + concurrent: false cmd: ./contrib/jenkins.sh - - osmo-bsc: - concurrent: true + - osmo-bsc - osmo-bts: a1_name: FIRMWARE_VERSION @@ -107,6 +103,7 @@ (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") + concurrent: false cmd: 'ASCIIDOC_WARNINGS_CHECK="1" ./contrib/jenkins_bts_model.sh "$BTS_MODEL"' - osmo-ggsn: @@ -126,16 +123,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") @@ -156,7 +150,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") || @@ -181,7 +174,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") @@ -200,7 +192,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: 'ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh' @@ -217,11 +208,13 @@ - pysim: slave_axis: !!python/tuple [simtester] + concurrent: false cmd: './contrib/jenkins.sh' - osmo-ttcn3-hacks: repos_url: 'https://gerrit.osmocom.org/{repos}' slave_axis: !!python/tuple [ttcn3] + concurrent: false cmd: | set -e make deps; make clean; make compile diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 138807e..beebf31 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: 'osmocom-master-debian8' # axes related defaults slave_axis: !!python/tuple [osmocom-master-debian9] @@ -165,7 +165,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" \ @@ -173,8 +172,7 @@ -e MGCP="$MGCP" \ {docker_img} /build/contrib/jenkins.sh - - osmo-bsc: - concurrent: true + - osmo-bsc - osmo-bts: a1_name: FIRMWARE_VERSION @@ -193,6 +191,7 @@ (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") + concurrent: false cmd: 'PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins_bts_model.sh "$BTS_MODEL"' - osmo-ggsn: @@ -231,7 +230,6 @@ master-osmo-sgsn - osmo-mgw: - concurrent: true trigger: master-osmo-msc, master-osmo-bsc - osmo-msc: @@ -239,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") @@ -265,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") || @@ -285,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") @@ -308,7 +303,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: 'PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh' @@ -327,6 +321,7 @@ email: laforge at gnumonks.org steve at steve-m.de - sysmo-usim-tool: + concurrent: false cmd: 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/+/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: 8 Gerrit-Owner: osmith 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 Oct 18 08:46:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:46:01 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... Patch Set 3: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 08:46: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 Oct 18 08:46:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 08:46:05 +0000 Subject: Change in osmo-ci[master]: docker: only one apt/pip cmd for installing deps In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15761 ) Change subject: docker: only one apt/pip cmd for installing deps ...................................................................... docker: only one apt/pip cmd for installing deps Make the retry logic in rebuild_osmocom_jenkins_image.sh obsolete by merging all apt commands for installing dependencies into one. This makes development easier, because the docker image will not get rebuilt again when any error happens (whether that error was related to the apt cache or not, during development it is mostly not related to the apt cache). This also makes it easier to read through the list of dependencies, and removes duplicate (or even conflicting, pkg-config vs pkgconf) entries. While at it, also merge the pip commands into one. Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 --- M docker/Dockerfile_osmocom_jenkins.amd64 M docker/rebuild_osmocom_jenkins_image.sh 2 files changed, 110 insertions(+), 55 deletions(-) Approvals: osmith: Looks good to me, approved; Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 6b43911..1ff2d0b 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -5,15 +5,115 @@ # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact ARG DEBIAN_VERSION +# Install apt dependencies (keep in alphabetic order) RUN \ - dpkg --add-architecture i386 && \ - 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 + dpkg --add-architecture i386 && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + asciidoc \ + asciidoc-dblatex \ + autoconf \ + autoconf-archive \ + automake \ + bc \ + bison \ + bzip2 \ + coccinelle \ + cppcheck \ + dblatex \ + dbus \ + debhelper \ + devscripts \ + dh-autoreconf \ + dh-systemd \ + docbook5-xml \ + doxygen \ + flex \ + g++ \ + gawk \ + gcc \ + gcc-arm-none-eabi \ + git \ + git-buildpackage \ + graphviz \ + htop \ + lcov \ + libaio-dev \ + libasound2-dev \ + libboost-all-dev \ + libc-ares-dev \ + libcsv-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libffi-dev \ + libfftw3-dev \ + libgmp-dev \ + libgnutls28-dev \ + libgps-dev \ + libgsm1-dev \ + liblua5.3-dev \ + libmnl-dev \ + libncurses5-dev \ + libnewlib-arm-none-eabi \ + liboping-dev \ + libortp-dev \ + libpcap-dev \ + libpcsclite-dev \ + libreadline-dev \ + libsctp-dev \ + libsigsegv-dev \ + libsnmp-dev \ + libsofia-sip-ua-glib-dev \ + libsqlite3-dev \ + libssl-dev \ + libtalloc-dev \ + libtool \ + libusb-1.0-0-dev \ + libusb-dev \ + libxml2-utils \ + libzmq3-dev \ + locales \ + lua-socket \ + make \ + mscgen \ + ofono \ + openssh-client \ + osc \ + patchelf \ + pkg-config \ + python \ + python3 \ + python3-gi \ + python3-mako \ + python3-pip \ + python3-pyflakes \ + python3-setuptools \ + python3-usb \ + python3-yaml \ + python-minimal \ + python-nwdiag \ + python-pip \ + python-pychart \ + python-setuptools \ + rsync \ + sdcc \ + sqlite3 \ + stow \ + sudo \ + systemd \ + tcpdump \ + texinfo \ + unzip \ + wget \ + xsltproc -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc g++ make git -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends sudo -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends unzip bzip2 python +# Install pip dependencies (keep in alphabetic order) +RUN pip3 install \ + git+https://github.com/podshumok/python-smpplib.git \ + git+https://github.com/eriwen/lcov-to-cobertura-xml.git \ + pydbus \ + pysispm # match the outside user RUN useradd --uid=1000 build @@ -22,58 +122,16 @@ RUN mkdir /build RUN chown build:build /build -# still generic -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends doxygen git asciidoc rsync coccinelle - -# for GNU smalltalk -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends flex bison libsigsegv-dev libffi-dev texinfo - -# libosmo-sccp/abis/etc -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 - -# building -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libtool pkg-config automake autoconf - -# for osmo-python-tests -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 asciidoc-dblatex - -# Linux kernel -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc - -# and all -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen g++ libtalloc-dev libpcsclite-dev make gcc pkgconf libtool autoconf autoconf-archive automake libortp-dev asciidoc mscgen git libsctp-dev libpcap-dev osc libc-ares-dev libgps-dev libsofia-sip-ua-glib-dev libssl-dev libsqlite3-dev libusb-dev libffi-dev libfftw3-dev flex bison libdbi-dev libsnmp-dev libncurses5-dev libgsm1-dev python-minimal python3 libdbd-sqlite3 cppcheck htop libgmp-dev gawk texinfo flex bison bc libsigsegv-dev libffi-dev libusb-1.0-0-dev libreadline-dev debhelper devscripts gcc-arm-none-eabi git-buildpackage dh-systemd dh-autoreconf bc openssh-client stow libnewlib-arm-none-eabi libaio-dev libasound2-dev libzmq3-dev libmnl-dev libboost-all-dev sdcc liboping-dev libcsv-dev systemd - -# Add rpath to binaries -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y patchelf - -# Be able to run the osmo-gsm-tester -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y dbus tcpdump sqlite3 python3 python3-yaml python3-mako python3-gi ofono python3-pip python3-usb lua-socket -RUN pip3 install git+git://github.com/podshumok/python-smpplib.git -RUN pip3 install pydbus -RUN pip3 install pysispm -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python3-pyflakes - +# Install osmo-python-tests ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/commit RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && ./contrib/jenkins.sh # Set a UTF-8 locale -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y locales - RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ dpkg-reconfigure --frontend=noninteractive locales && \ update-locale LANG=en_US.UTF-8 ENV LANG en_US.UTF-8 -# Code coverage tools -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y lcov -RUN pip3 install git+https://github.com/eriwen/lcov-to-cobertura-xml/ - # osmo-remsim needs libulfius (which indirectly depends on systemd, installed above) ARG LIBULFIUS_VER="2.6.4" ARG LIBULFIUS_PATH="https://github.com/babelouest/ulfius/releases/download/v${LIBULFIUS_VER}" @@ -81,6 +139,7 @@ ADD ${LIBULFIUS_PATH}/ulfius-dev-full_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.tar.gz /tmp/ulfius/all.tar.gz RUN cd /tmp/ulfius && \ tar -xvf all.tar.gz && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/ulfius/*.deb && \ cd ~ && \ rm -r /tmp/ulfius diff --git a/docker/rebuild_osmocom_jenkins_image.sh b/docker/rebuild_osmocom_jenkins_image.sh index 60c516b..5d14d83 100755 --- a/docker/rebuild_osmocom_jenkins_image.sh +++ b/docker/rebuild_osmocom_jenkins_image.sh @@ -2,12 +2,8 @@ # Executes docker build with the given parameters and retry in case of error. function build_once() { - # In case the debian apt archive has become out of sync, try a - # --no-cache build if it fails. - # shellcheck disable=SC2068 - docker build $@ -f Dockerfile_osmocom_jenkins.amd64 . \ - || docker build --no-cache $@ -f Dockerfile_osmocom_jenkins.amd64 . + docker build $@ -f Dockerfile_osmocom_jenkins.amd64 . } # Builds a container with a debian version and tag name as parameter. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6 Gerrit-Change-Number: 15761 Gerrit-PatchSet: 3 Gerrit-Owner: osmith 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 Oct 18 09:19:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:19:40 +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+2 -- 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, 18 Oct 2019 09:19: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 Fri Oct 18 09:20:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:20:57 +0000 Subject: Change in libosmocore[master]: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15779 ) Change subject: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 Gerrit-Change-Number: 15779 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 18 Oct 2019 09:20: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 Oct 18 09:20:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:20:58 +0000 Subject: Change in libosmocore[master]: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15779 ) Change subject: tdef: Return correct snprintf value for osmo_tdef_range_str_buf() ...................................................................... tdef: Return correct snprintf value for osmo_tdef_range_str_buf() len provides extra information in the case the buffer was too small, because it tells the caller "the number of characters (excluding the terminating null byte) which would have been written to the final string if enough space had been available" (man snprintf). Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 --- M src/tdef.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tdef.c b/src/tdef.c index 94d987f..71a3315 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -256,7 +256,9 @@ * \param[in] buf The buffer where the string representation is stored. * \param[in] buf_len Length of buffer in bytes. * \param[in] tdef Timer entry from a timer definition table. - * \return The number of characters printed on success, negative on error. See snprintf(). + * \return The number of characters printed on success (or number of characters + * which would have been written to the final string if enough space + * had been available), negative on error. See snprintf(). */ int osmo_tdef_range_str_buf(char *buf, size_t buf_len, struct osmo_tdef *t) { @@ -275,7 +277,7 @@ if (ret < 0) return ret; OSMO_SNPRINTF_RET(ret, rem, offset, len); - return ret; + return len; } /*! 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/+/15779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icafe559e19a92e2ae72fdd0dd2d9a394b1eda878 Gerrit-Change-Number: 15779 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 Oct 18 09:21:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:21:47 +0000 Subject: Change in libosmocore[master]: socket: Introduce API osmo_sock_init2_multiaddr() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15781 ) Change subject: socket: Introduce API osmo_sock_init2_multiaddr() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Gerrit-Change-Number: 15781 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 09:21: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 Oct 18 09:21:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:21:48 +0000 Subject: Change in libosmocore[master]: socket: Introduce API osmo_sock_init2_multiaddr() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15781 ) Change subject: socket: Introduce API osmo_sock_init2_multiaddr() ...................................................................... socket: Introduce API osmo_sock_init2_multiaddr() This API will be used by libosmo-netif's osmo_stream for SCTP sockets, which in turn will be used by libosmo-sccp to support multi-homed connections. Related: OS#3608 Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 --- M configure.ac M debian/control M include/osmocom/core/socket.h M src/Makefile.am M src/socket.c 5 files changed, 307 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 39d232b..2f12d86 100644 --- a/configure.ac +++ b/configure.ac @@ -100,6 +100,17 @@ AC_CHECK_FUNCS(clock_gettime localtime_r) +old_LIBS=$LIBS +AC_SEARCH_LIBS([sctp_bindx], [sctp], [ + AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) + AC_SUBST(HAVE_LIBSCTP, [1]) + if test -n "$ac_lib"; then + AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) + fi + ], [ + AC_MSG_WARN([sctp_bindx not found in searched libs])]) +LIBS=$old_LIBS + AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ AC_CACHE_CHECK( [whether struct tm has tm_gmtoff member], diff --git a/debian/control b/debian/control index 07163da..6c9cfae 100644 --- a/debian/control +++ b/debian/control @@ -15,6 +15,7 @@ libpcsclite-dev, pkg-config, libtalloc-dev, + libsctp-dev, python (>= 2.7.6) Standards-Version: 3.9.8 Vcs-Git: git://git.osmocom.org/libosmocore.git diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 37b1eae..e26ca0d 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -36,6 +36,9 @@ /*! use SO_REUSEADDR on UDP ports (required for multicast) */ #define OSMO_SOCK_F_UDP_REUSEADDR (1 << 5) +/*! maximum number of local or remote addresses supported by an osmo_sock instance */ +#define OSMO_SOCK_MAX_ADDRS 32 + int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, unsigned int flags); @@ -43,6 +46,10 @@ const char *local_host, uint16_t local_port, const char *remote_host, uint16_t remote_port, unsigned int flags); +int osmo_sock_init2_multiaddr(uint16_t family, uint16_t type, uint8_t proto, + const char **local_hosts, size_t local_hosts_cnt, uint16_t local_port, + const char **remote_hosts, size_t remote_hosts_cnt, uint16_t remote_port, unsigned int flags); + int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto, const char *host, uint16_t port, unsigned int flags); diff --git a/src/Makefile.am b/src/Makefile.am index 5f5f017..9943281 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,7 +4,7 @@ LIBVERSION=14:0:2 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) +AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) if ENABLE_PSEUDOTALLOC AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc @@ -12,7 +12,7 @@ lib_LTLIBRARIES = libosmocore.la -libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) $(PTHREAD_LIBS) +libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) $(PTHREAD_LIBS) $(LIBSCTP_LIBS) libosmocore_la_SOURCES = context.c timer.c timer_gettimeofday.c timer_clockgettime.c \ select.c signal.c msgb.c bits.c \ bitvec.c bitcomp.c counter.c fsm.c \ diff --git a/src/socket.c b/src/socket.c index ef3bb58..542c76e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -53,6 +53,10 @@ #include #include +#ifdef HAVE_LIBSCTP +#include +#endif + static struct addrinfo *addrinfo_helper(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, bool passive) { @@ -96,6 +100,34 @@ return result; } +/*! Retrieve an array of addrinfo with specified hints, one for each host in the hosts array. + * \param[out] addrinfo array of addrinfo pointers, will be filled by the function on success. + * Its size must be at least the one of hosts. + * \param[in] family Socket family like AF_INET, AF_INET6. + * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM. + * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP. + * \param[in] hosts array of char pointers (strings) containing the addresses to query. + * \param[in] host_cnt length of the hosts array (in items). + * \param[in] port port number in host byte order. + * \param[in] passive whether to include the AI_PASSIVE flag in getaddrinfo() hints. + * \returns 0 is returned on success together with a filled addrinfo array; negative on error + */ +static int addrinfo_helper_multi(struct addrinfo **addrinfo, uint16_t family, uint16_t type, uint8_t proto, + const char **hosts, size_t host_cnt, uint16_t port, bool passive) +{ + int i, j; + + for (i = 0; i < host_cnt; i++) { + addrinfo[i] = addrinfo_helper(family, type, proto, hosts[i], port, passive); + if (!addrinfo[i]) { + for (j = 0; j < i; j++) + freeaddrinfo(addrinfo[j]); + return -EINVAL; + } + } + return 0; +} + static int socket_helper(const struct addrinfo *rp, unsigned int flags) { int sfd, on = 1; @@ -118,6 +150,37 @@ return sfd; } +/* Fill buf with a string representation of the address set, in the form: + * buf_len == 0: "()" + * buf_len == 1: "hostA" + * buf_len >= 2: (hostA|hostB|...|...) + */ +static int multiaddr_snprintf(char* buf, size_t buf_len, const char **hosts, size_t host_cnt) +{ + int len = 0, offset = 0, rem = buf_len; + int ret, i; + char *after; + + if (buf_len < 3) + return -EINVAL; + + if (host_cnt != 1) { + ret = snprintf(buf, rem, "("); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + for (i = 0; i < host_cnt; i++) { + if (host_cnt == 1) + after = ""; + else + after = (i == (host_cnt - 1)) ? ")" : "|"; + ret = snprintf(buf + offset, rem, "%s%s", hosts[i] ? : "0.0.0.0", after); + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + + return len; +} static int osmo_sock_init_tail(int fd, uint16_t type, unsigned int flags) { @@ -294,6 +357,229 @@ return sfd; } +#ifdef HAVE_LIBSCTP + + +/* Build array of addresses taking first addrinfo result of the requested family + * for each host in hosts. addrs4 or addrs6 are filled based on family type. */ +static int addrinfo_to_sockaddr(uint16_t family, const struct addrinfo **result, + const char **hosts, int host_cont, + struct sockaddr_in *addrs4, struct sockaddr_in6 *addrs6) { + size_t host_idx; + const struct addrinfo *rp; + OSMO_ASSERT(family == AF_INET || family == AF_INET6); + + for (host_idx = 0; host_idx < host_cont; host_idx++) { + for (rp = result[host_idx]; rp != NULL; rp = rp->ai_next) { + if (rp->ai_family != family) + continue; + if (family == AF_INET) + memcpy(&addrs4[host_idx], rp->ai_addr, sizeof(addrs4[host_idx])); + else + memcpy(&addrs6[host_idx], rp->ai_addr, sizeof(addrs6[host_idx])); + break; + } + if (!rp) { /* No addr could be bound for this host! */ + LOGP(DLGLOBAL, LOGL_ERROR, "No suitable remote address found for host: %s\n", + hosts[host_idx]); + return -ENODEV; + } + } + return 0; +} + +/*! Initialize a socket (including bind and/or connect) with multiple local or remote addresses. + * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC + * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM + * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP + * \param[in] local_hosts array of char pointers (strings), each containing local host name or IP address in string form + * \param[in] local_hosts_cnt length of local_hosts (in items) + * \param[in] local_port local port number in host byte order + * \param[in] remote_host array of char pointers (strings), each containing remote host name or IP address in string form + * \param[in] remote_hosts_cnt length of remote_hosts (in items) + * \param[in] remote_port remote port number in host byte order + * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT + * \returns socket file descriptor on success; negative on error + * + * This function is similar to \ref osmo_sock_init2(), but can be passed an + * array of local or remote addresses for protocols supporting multiple + * addresses per socket, like SCTP (currently only one supported). This function + * should not be used by protocols not supporting this kind of features, but + * rather \ref osmo_sock_init2() should be used instead. + * See \ref osmo_sock_init2() for more information on flags and general behavior. + */ +int osmo_sock_init2_multiaddr(uint16_t family, uint16_t type, uint8_t proto, + const char **local_hosts, size_t local_hosts_cnt, uint16_t local_port, + const char **remote_hosts, size_t remote_hosts_cnt, uint16_t remote_port, + unsigned int flags) + +{ + struct addrinfo *result[OSMO_SOCK_MAX_ADDRS]; + int sfd = -1, rc, on = 1; + int i; + struct sockaddr_in addrs4[OSMO_SOCK_MAX_ADDRS]; + struct sockaddr_in6 addrs6[OSMO_SOCK_MAX_ADDRS]; + struct sockaddr *addrs; + char strbuf[512]; + + /* TODO: So far this function is only aimed for SCTP, but could be + reused in the future for other protocols with multi-addr support */ + if (proto != IPPROTO_SCTP) + return -ENOTSUP; + + /* TODO: Let's not support AF_UNSPEC for now. sctp_bindx() actually + supports binding both types of addresses on a AF_INET6 soscket, but + that would mean we could get both AF_INET and AF_INET6 addresses for + each host, and makes complexity of this function increase a lot since + we'd need to find out which subsets to use, use v4v6 mapped socket, + etc. */ + if (family == AF_UNSPEC) + return -ENOTSUP; + + if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) == 0) { + LOGP(DLGLOBAL, LOGL_ERROR, "invalid: you have to specify either " + "BIND or CONNECT flags\n"); + return -EINVAL; + } + + if (((flags & OSMO_SOCK_F_BIND) && !local_hosts_cnt) || + ((flags & OSMO_SOCK_F_CONNECT) && !remote_hosts_cnt) || + local_hosts_cnt > OSMO_SOCK_MAX_ADDRS || + remote_hosts_cnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + /* figure out local side of socket */ + if (flags & OSMO_SOCK_F_BIND) { + rc = addrinfo_helper_multi(result, family, type, proto, local_hosts, + local_hosts_cnt, local_port, true); + if (rc < 0) + return -EINVAL; + + /* Since addrinfo_helper sets ai_family, socktype and + ai_protocol in hints, we know all results will use same + values, so simply pick the first one and pass it to create + the socket: + */ + sfd = socket_helper(result[0], flags); + if (sfd < 0) { + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + return sfd; + } + + if (proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR) { + rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, + &on, sizeof(on)); + if (rc < 0) { + multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); + LOGP(DLGLOBAL, LOGL_ERROR, + "cannot setsockopt socket:" + " %s:%u: %s\n", + strbuf, local_port, + strerror(errno)); + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return rc; + } + } + + /* Build array of addresses taking first of same family for each host. + TODO: Ideally we should use backtracking storing last used + indexes and trying next combination if connect() fails .*/ + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + local_hosts, local_hosts_cnt, addrs4, addrs6); + if (rc < 0) { + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + + if (family == AF_INET) + addrs = (struct sockaddr *)addrs4; + else + addrs = (struct sockaddr *)addrs6; + if (sctp_bindx(sfd, addrs, local_hosts_cnt, SCTP_BINDX_ADD_ADDR) == -1) { + multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); + LOGP(DLGLOBAL, LOGL_NOTICE, "unable to bind socket: %s:%u: %s\n", + strbuf, local_port, strerror(errno)); + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + } + + /* Reached this point, if OSMO_SOCK_F_BIND then sfd is valid (>=0) or it + was already closed and func returned. If OSMO_SOCK_F_BIND is not + set, then sfd = -1 */ + + /* figure out remote side of socket */ + if (flags & OSMO_SOCK_F_CONNECT) { + rc = addrinfo_helper_multi(result, family, type, proto, remote_hosts, + remote_hosts_cnt, remote_port, false); + if (rc < 0) { + if (sfd >= 0) + close(sfd); + return -EINVAL; + } + + if (sfd < 0) { + /* Since addrinfo_helper sets ai_family, socktype and + ai_protocol in hints, we know all results will use same + values, so simply pick the first one and pass it to create + the socket: + */ + sfd = socket_helper(result[0], flags); + if (sfd < 0) { + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + return sfd; + } + } + + /* Build array of addresses taking first of same family for each host. + TODO: Ideally we should use backtracking storing last used + indexes and trying next combination if connect() fails .*/ + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + remote_hosts, remote_hosts_cnt, addrs4, addrs6); + if (rc < 0) { + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + + if (family == AF_INET) + addrs = (struct sockaddr *)addrs4; + else + addrs = (struct sockaddr *)addrs6; + rc = sctp_connectx(sfd, addrs, remote_hosts_cnt, NULL); + if (rc != 0 && errno != EINPROGRESS) { + multiaddr_snprintf(strbuf, sizeof(strbuf), remote_hosts, remote_hosts_cnt); + LOGP(DLGLOBAL, LOGL_ERROR, "unable to connect socket: %s:%u: %s\n", + strbuf, remote_port, strerror(errno)); + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return -ENODEV; + } + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(result[i]); + } + + rc = osmo_sock_init_tail(sfd, type, flags); + if (rc < 0) { + close(sfd); + sfd = -1; + } + + return sfd; +} +#endif /* HAVE_LIBSCTP */ /*! Initialize a socket (including bind/connect) * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Gerrit-Change-Number: 15781 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Fri Oct 18 09:23:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:23:12 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_cli: Support setting multiple addr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15783 ) Change subject: stream: osmo_stream_cli: Support setting multiple addr ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I09f0d989f2309abdeb304fe570355abed2cd107b Gerrit-Change-Number: 15783 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 09:23: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 Oct 18 09:23:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:23:24 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_srv_link: Support setting multiple addr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15782 ) Change subject: stream: osmo_stream_srv_link: Support setting multiple addr ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Gerrit-Change-Number: 15782 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 09:23: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 Oct 18 09:23:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:23:30 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_srv_link: Support setting multiple addr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15782 ) Change subject: stream: osmo_stream_srv_link: Support setting multiple addr ...................................................................... stream: osmo_stream_srv_link: Support setting multiple addr This API will be later used to set multiple addresses for SCTP sockets. Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Related: OS#3608 Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a --- M TODO-RELEASE M include/osmocom/netif/stream.h M src/stream.c 3 files changed, 39 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..b7cb070 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 +libosmo-netif stream osmo_sock_init2_multiaddr() is used, requires libosmocore > 1.2.0 (to be released) diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h index 3427df5..8fe2578 100644 --- a/include/osmocom/netif/stream.h +++ b/include/osmocom/netif/stream.h @@ -22,6 +22,7 @@ void osmo_stream_srv_link_set_nodelay(struct osmo_stream_srv_link *link, bool nodelay); void osmo_stream_srv_link_set_addr(struct osmo_stream_srv_link *link, const char *addr); +int osmo_stream_srv_link_set_addrs(struct osmo_stream_srv_link *link, const char **addr, size_t addrcnt); void osmo_stream_srv_link_set_port(struct osmo_stream_srv_link *link, uint16_t port); void osmo_stream_srv_link_set_proto(struct osmo_stream_srv_link *link, uint16_t proto); void osmo_stream_srv_link_set_accept_cb(struct osmo_stream_srv_link *link, int (*accept_cb)(struct osmo_stream_srv_link *link, int fd)); diff --git a/src/stream.c b/src/stream.c index 9c4afec..0027537 100644 --- a/src/stream.c +++ b/src/stream.c @@ -647,7 +647,8 @@ struct osmo_stream_srv_link { struct osmo_fd ofd; - char *addr; + char *addr[OSMO_SOCK_MAX_ADDRS]; + uint8_t addrcnt; uint16_t port; uint16_t proto; int (*accept_cb)(struct osmo_stream_srv_link *srv, int fd); @@ -745,8 +746,32 @@ void osmo_stream_srv_link_set_addr(struct osmo_stream_srv_link *link, const char *addr) { - osmo_talloc_replace_string(link, &link->addr, addr); + osmo_stream_srv_link_set_addrs(link, &addr, 1); +} + +/*! \brief Set the local address set to which we bind. + * Useful for protocols allowing bind on more than one address (such as SCTP) + * \param[in] link Stream Server Link to modify + * \param[in] addr Local IP address + * \return negative on error, 0 on success + */ +int osmo_stream_srv_link_set_addrs(struct osmo_stream_srv_link *link, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(link, &link->addr[i], addr[i]); + for (; i < link->addrcnt; i++) { + talloc_free(link->addr[i]); + link->addr[i] = NULL; + } + + link->addrcnt = addrcnt; link->flags |= OSMO_STREAM_SRV_F_RECONF; + return 0; } /*! \brief Set the local port number to which we bind @@ -853,8 +878,16 @@ link->flags &= ~OSMO_STREAM_SRV_F_RECONF; - ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, - link->addr, link->port, OSMO_SOCK_F_BIND); + switch (link->proto) { + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, link->proto, + (const char **)link->addr, link->addrcnt, link->port, + NULL, 0, 0, OSMO_SOCK_F_BIND); + break; + default: + ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, + link->addr[0], link->port, OSMO_SOCK_F_BIND); + } if (ret < 0) return ret; -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Gerrit-Change-Number: 15782 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 Oct 18 09:24:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:24:01 +0000 Subject: Change in libosmo-netif[master]: stream: osmo_stream_cli: Support setting multiple addr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15783 ) Change subject: stream: osmo_stream_cli: Support setting multiple addr ...................................................................... stream: osmo_stream_cli: Support setting multiple addr This API will be later used to set multiple addresses for SCTP sockets. Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Related: OS#3608 Change-Id: I09f0d989f2309abdeb304fe570355abed2cd107b --- M include/osmocom/netif/stream.h M src/stream.c 2 files changed, 85 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h index 8fe2578..331dec1 100644 --- a/include/osmocom/netif/stream.h +++ b/include/osmocom/netif/stream.h @@ -55,9 +55,11 @@ void osmo_stream_cli_set_nodelay(struct osmo_stream_cli *cli, bool nodelay); void osmo_stream_cli_set_addr(struct osmo_stream_cli *cli, const char *addr); +int osmo_stream_cli_set_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt); void osmo_stream_cli_set_port(struct osmo_stream_cli *cli, uint16_t port); void osmo_stream_cli_set_proto(struct osmo_stream_cli *cli, uint16_t proto); void osmo_stream_cli_set_local_addr(struct osmo_stream_cli *cli, const char *addr); +int osmo_stream_cli_set_local_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt); void osmo_stream_cli_set_local_port(struct osmo_stream_cli *cli, uint16_t port); void osmo_stream_cli_set_data(struct osmo_stream_cli *cli, void *data); void osmo_stream_cli_set_reconnect_timeout(struct osmo_stream_cli *cli, int timeout); diff --git a/src/stream.c b/src/stream.c index 0027537..b7e5c3c 100644 --- a/src/stream.c +++ b/src/stream.c @@ -148,9 +148,11 @@ struct llist_head tx_queue; struct osmo_timer_list timer; enum osmo_stream_cli_state state; - char *addr; + char *addr[OSMO_SOCK_MAX_ADDRS]; + uint8_t addrcnt; uint16_t port; - char *local_addr; + char *local_addr[OSMO_SOCK_MAX_ADDRS]; + uint8_t local_addrcnt; uint16_t local_port; uint16_t proto; int (*connect_cb)(struct osmo_stream_cli *srv); @@ -354,8 +356,32 @@ void osmo_stream_cli_set_addr(struct osmo_stream_cli *cli, const char *addr) { - osmo_talloc_replace_string(cli, &cli->addr, addr); + osmo_stream_cli_set_addrs(cli, &addr, 1); +} + +/*! \brief Set the remote address set to which we connect. + * Useful for protocols allowing connecting to more than one address (such as SCTP) + * \param[in] cli Stream Client to modify + * \param[in] addr Remote IP address set + * \return negative on error, 0 on success + */ +int osmo_stream_cli_set_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(cli, &cli->addr[i], addr[i]); + for (; i < cli->addrcnt; i++) { + talloc_free(cli->addr[i]); + cli->addr[i] = NULL; + } + + cli->addrcnt = addrcnt; cli->flags |= OSMO_STREAM_CLI_F_RECONF; + return 0; } /*! \brief Set the remote port number to which we connect @@ -387,8 +413,32 @@ void osmo_stream_cli_set_local_addr(struct osmo_stream_cli *cli, const char *addr) { - osmo_talloc_replace_string(cli, &cli->local_addr, addr); + osmo_stream_cli_set_local_addrs(cli, &addr, 1); +} + +/*! \brief Set the local address set to which we connect. + * Useful for protocols allowing bind to more than one address (such as SCTP) + * \param[in] cli Stream Client to modify + * \param[in] addr Local IP address set + * \return negative on error, 0 on success + */ +int osmo_stream_cli_set_local_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_SOCK_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(cli, &cli->local_addr[i], addr[i]); + for (; i < cli->local_addrcnt; i++) { + talloc_free(cli->local_addr[i]); + cli->local_addr[i] = NULL; + } + + cli->local_addrcnt = addrcnt; cli->flags |= OSMO_STREAM_CLI_F_RECONF; + return 0; } /*! \brief Set the protocol for the stream client socket @@ -503,10 +553,20 @@ cli->flags &= ~OSMO_STREAM_CLI_F_RECONF; - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, - cli->local_addr, cli->local_port, - cli->addr, cli->port, - OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + switch (cli->proto) { + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, + (const char **)cli->addr, cli->addrcnt, cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + break; + default: + ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + cli->local_addr[0], cli->local_port, + cli->addr[0], cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + } + if (ret < 0) { if (reconnect) osmo_stream_cli_reconnect(cli); @@ -561,10 +621,21 @@ cli->flags &= ~OSMO_STREAM_CLI_F_RECONF; - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, - cli->local_addr, cli->local_port, - cli->addr, cli->port, - OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + + switch (cli->proto) { + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, + (const char **)cli->addr, cli->addrcnt, cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + break; + default: + ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + cli->local_addr[0], cli->local_port, + cli->addr[0], cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + } + if (ret < 0) { osmo_stream_cli_reconnect(cli); return ret; -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I09f0d989f2309abdeb304fe570355abed2cd107b Gerrit-Change-Number: 15783 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 Oct 18 09:25:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:25:47 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 ) Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 09:25: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 Oct 18 09:27:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:27:47 +0000 Subject: Change in libosmo-netif[master]: tests: osmux_test: Hardcode h_output values set by random() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15798 ) Change subject: tests: osmux_test: Hardcode h_output values set by random() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Icc553c83ddff41900ae3d5990a655c29c9073e01 Gerrit-Change-Number: 15798 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 18 Oct 2019 09:27: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 Oct 18 09:27:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:27:50 +0000 Subject: Change in libosmo-netif[master]: tests: osmux_test: Hardcode h_output values set by random() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15798 ) Change subject: tests: osmux_test: Hardcode h_output values set by random() ...................................................................... tests: osmux_test: Hardcode h_output values set by random() osmux implementation randomizes those values. It seems build in OBS sometimes provide different values than the ones expected in the test result. Let's hardcode them to make sure we always have the same values regarless of the random() implementation. Values chosen are the one matching the current expected test output so it doesn't need any change. Change-Id: Icc553c83ddff41900ae3d5990a655c29c9073e01 --- M tests/osmux/osmux_test.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 7fa9af7..b6a43fe 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -299,6 +299,9 @@ osmux_xfrm_output_init2(&h_output, 0x7000000, 98); osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, NULL); + /* These fields are set using random() */ + h_output.rtp_seq = 9158; + h_output.rtp_timestamp = 1681692777; /* If the test takes longer than 10 seconds, abort it */ alarm(10); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Icc553c83ddff41900ae3d5990a655c29c9073e01 Gerrit-Change-Number: 15798 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 Oct 18 09:29:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 18 Oct 2019 09:29:08 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 ) Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... Patch Set 3: -Code-Review (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/15785/3/src/osmo_ss7.c File src/osmo_ss7.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15785/3/src/osmo_ss7.c at 1973 PS3, Line 1973: (; indeed, the compiler error is correct: i=0 missing here? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 18 Oct 2019 09:29: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 Fri Oct 18 09:34:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 09:34:23 +0000 Subject: Change in osmo-dev[master]: ttcn3: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: Hello neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 to look at the new patch set (#3). Change subject: ttcn3: run ttcn3 testsuites from osmo-dev ...................................................................... ttcn3: run ttcn3 testsuites from osmo-dev Build testsuite, SUT and dependencies and run everything with one command. Example usage: $ ./ttcn3/ttcn3.sh msc So far, it works at least with: hlr, mgw, msc, pcu, pcu-sns, sgsn Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 --- M .gitignore M README A ttcn3/ttcn3.opts A ttcn3/ttcn3.sh A ttcn3/wrappers/fake_trx.sh A ttcn3/wrappers/osmo-bts-trx-respawn.sh A ttcn3/wrappers/osmo-pcu-respawn.sh 7 files changed, 428 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/78/15778/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Oct 18 09:35:30 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 09:35:30 +0000 Subject: Change in osmo-dev[master]: ttcn3: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/15778 ) Change subject: ttcn3: run ttcn3 testsuites from osmo-dev ...................................................................... Patch Set 3: Updated, everything is in the new ttcn3 subdir now. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 18 Oct 2019 09:35:30 +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 Oct 18 09:50:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 09:50:11 +0000 Subject: Change in osmo-pcu[master]: Fix assertion hit upon CCCH Paging Request In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15799 ) Change subject: Fix assertion hit upon CCCH Paging Request ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84c5dfd4d5580e9d4c00ed21887cb51bd9abbd2e Gerrit-Change-Number: 15799 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 18 Oct 2019 09:50: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 Oct 18 12:01:55 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Oct 2019 12:01:55 +0000 Subject: Change in osmo-bts[master]: vty.c: remove assert for always true condition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: remove assert for always true condition ...................................................................... Patch Set 1: (1 comment) I would rather use a variable of a signed type and keep the checks. https://gerrit.osmocom.org/c/osmo-bts/+/15805/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/15805/1/src/common/vty.c at a1606 PS1, Line 1606: get_string_value Well, theoretically this function can return a negative number. This could be even possible with an older version of libosmocore (see I5f4e2d16c62a2d22717989c6acc77450957168cb and preceding changes). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 18 Oct 2019 12:01:55 +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 Oct 18 12:03:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Oct 2019 12:03:26 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15806 ) Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15806/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/15806/1/src/common/vty.c at 1618 PS1, Line 1618: (sapi <= 31) Why can't we just assert() this? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 18 Oct 2019 12:03:26 +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 Oct 18 12:28:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 12:28:05 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors 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/+/15805 to look at the new patch set (#2). Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... vty.c: don't ignore get_string_value() errors Change uint8_t sapi to int8_t, so we can properly assert on errors from get_string_value(). Fixes: CID#205066, CID#205069 Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 --- M src/common/vty.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/05/15805/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Fri Oct 18 12:28:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 12:28:05 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues 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/+/15806 to look at the new patch set (#2). Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... vty.c: avoid coverity BAD_SHIFT issues Make it obvious for compilers and for coverity, that the sapi value used to shift a bit for the sapi_mask is always <= 31. The sapi value is an index of the value string l1sap_common_sapi_names, which has 24 entries. Fixes: CID#205067, CID#205068 Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b --- M src/common/vty.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/15806/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Fri Oct 18 12:29:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 12:29:55 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15806 ) Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15806/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/15806/1/src/common/vty.c at 1618 PS1, Line 1618: (sapi <= 31) > Why can't we just assert() this? I'm not so familiar with how coverity works, but if that is enough to make the error go away, then sure. Updated. (It would be nice if one could test a piece of code against coverity, to see if the issues go away or not.) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 18 Oct 2019 12:29:55 +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 Oct 18 12:30:10 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 18 Oct 2019 12:30:10 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15805/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/15805/1/src/common/vty.c at a1606 PS1, Line 1606: get_string_value > Well, theoretically this function can return a negative number. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 18 Oct 2019 12:30:10 +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 Oct 18 20:38:55 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 18 Oct 2019 20:38:55 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... Patch Set 3: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 18 Oct 2019 20:38: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 Fri Oct 18 20:49:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Oct 2019 20:49:05 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... osmo-bts-trx/scheduler: refactor Uplink measurement processing So far we used to store the sums of ToA, RSSI, and C/I measurements in the logical channel state, and after decoding of a block, we did calculate the average. This approach works fine for xCCH and PDTCH, but when it comes to block-diagonal interleaving (which is used on TCH/F and TCH/H channels), the results are incorrect. Instead of calculating the sum of measurements on the fly, let's push them onto a stack (the measurement history), and optionally keep the last N measurements in there after decoding of a block. The proposed approach will allow us to reduce the code duplication and get much more accurate Uplink measurement reports. However, there is a spoon of tar: records of the measurement history are getting allocated on heap every time we receive an Uplink burst. These frequent allocations may introduce a negative impact on the overall performance level, but we can use a talloc pool to reduce possible delays and potential fragmentation. Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 145 insertions(+), 78 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/15807/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 3100a1d..e6ec37d 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -69,6 +69,15 @@ TRX_BURST_8PSK, }; +/* A set of measurements attached to a burst */ +struct l1sched_meas_set { + struct llist_head list; /* Link to the measurement history */ + + int16_t toa256; /* Timing of Arrival (1/256 of a symbol) */ + int16_t ci_cb; /* Carrier-to-Interference (cB) */ + float rssi; /* RSSI (dBm) */ +}; + /* States each channel on a multiframe */ struct l1sched_chan_state { /* scheduler */ @@ -79,14 +88,6 @@ uint32_t ul_first_fn; /* fn of first burst */ uint8_t ul_mask; /* mask of received bursts */ - /* measurements */ - uint8_t rssi_num; /* number of RSSI values */ - float rssi_sum; /* sum of RSSI values */ - uint8_t toa_num; /* number of TOA values */ - int32_t toa256_sum; /* sum of TOA values (1/256 symbol) */ - uint8_t ci_cb_num; /* number of C/I values */ - int32_t ci_cb_sum; /* sum of C/I values (in centiBels) */ - /* loss detection */ uint8_t lost_frames; /* how many L2 frames were lost */ uint32_t last_tdma_fn; /* last processed TDMA frame number */ @@ -121,6 +122,10 @@ /* measurements */ struct { + struct llist_head hist; /* History of measurements (see l1sched_meas_set) */ + unsigned int num; /* Number of measurements in history */ + + /* FIXME: keep all measurements in the history (see above) */ uint8_t clock; /* cyclic clock counter */ int8_t rssi[32]; /* last RSSI values */ int rssi_count; /* received RSSI values */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8662a14..d37dd51 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -887,6 +887,77 @@ return 0; } +/* Add a set of measurements to the head of the history. */ +static void l1sched_meas_push(struct l1sched_chan_state *chan_state, + const struct trx_ul_burst_ind *bi) +{ + struct l1sched_meas_set *set; + + /* TODO: unfortunately, we cannot use chan_state as the context :/ + * TODO: should we use a talloc pool for such allocations? */ + set = talloc(tall_bts_ctx, struct l1sched_meas_set); + OSMO_ASSERT(set != NULL); + + set->toa256 = bi->toa256; + set->rssi = bi->rssi; + + /* Optional fields */ + set->ci_cb = (bi->flags & TRX_BI_F_CI_CB) ? bi->ci_cb : 0; + + llist_add(&set->list, &chan_state->meas.hist); + chan_state->meas.num++; +} + +/* Average a given number of measurements from the history, + * store the results in a caller-allocated set. */ +static void l1sched_meas_average(const struct l1sched_chan_state *chan_state, + struct l1sched_meas_set *result, + unsigned int num) +{ + struct l1sched_meas_set *set; + int toa256_sum = 0; + int ci_cb_sum = 0; + int rssi_sum = 0; + + /* There shall be at least one set */ + OSMO_ASSERT(chan_state->meas.num > 0); + /* Prevent division by zero */ + OSMO_ASSERT(num > 0); + + /* There can be less records in the history */ + if (chan_state->meas.num < num) + num = chan_state->meas.num; + + /* Calculate the sum of measurements */ + llist_for_each_entry(set, &chan_state->meas.hist, list) { + toa256_sum += set->toa256; + ci_cb_sum += set->ci_cb; + rssi_sum += set->rssi; + + if (--num == 0) + break; + } + + /* Calculate the average */ + result->toa256 = toa256_sum / num; + result->ci_cb = ci_cb_sum / num; + result->rssi = rssi_sum / num; +} + +/* Reduce amount of measurements in the history to a given number. */ +static void l1sched_meas_squeeze(struct l1sched_chan_state *chan_state, + unsigned int num) +{ + struct llist_head *hist = &chan_state->meas.hist; + struct l1sched_meas_set *set; + + while (!llist_empty(hist) && chan_state->meas.num-- > num) { + set = llist_last_entry(hist, struct l1sched_meas_set, list); + llist_del(&set->list); + talloc_free(set); + } +} + /*! \brief a single (SDCCH/SACCH) burst was received by the PHY, process it */ int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, uint8_t bid, const struct trx_ul_burst_ind *bi) @@ -896,15 +967,9 @@ sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; - float *rssi_sum = &chan_state->rssi_sum; - uint8_t *rssi_num = &chan_state->rssi_num; - int32_t *toa256_sum = &chan_state->toa256_sum; - uint8_t *toa_num = &chan_state->toa_num; - int32_t *ci_cb_sum = &chan_state->ci_cb_sum; - uint8_t *ci_cb_num = &chan_state->ci_cb_num; uint8_t l2[GSM_MACBLOCK_LEN], l2_len; + struct l1sched_meas_set meas_set; int n_errors, n_bits_total; - int16_t lqual_cb; uint16_t ber10k; int rc; @@ -920,6 +985,8 @@ *bursts_p = talloc_zero_size(tall_bts_ctx, 464); if (!*bursts_p) return -ENOMEM; + /* HACK: also initialize the measurement history */ + INIT_LLIST_HEAD(&chan_state->meas.hist); } /* clear burst & store frame number of first burst */ @@ -927,26 +994,13 @@ memset(*bursts_p, 0, 464); *mask = 0x0; *first_fn = bi->fn; - *rssi_sum = 0; - *rssi_num = 0; - *toa256_sum = 0; - *toa_num = 0; - *ci_cb_sum = 0; - *ci_cb_num = 0; } - /* update mask + RSSI */ + /* store the measurements */ + l1sched_meas_push(chan_state, bi); + + /* update the mask */ *mask |= (1 << bid); - *rssi_sum += bi->rssi; - (*rssi_num)++; - *toa256_sum += bi->toa256; - (*toa_num)++; - - /* C/I: Carrier-to-Interference ratio (in centiBels) */ - if (bi->flags & TRX_BI_F_CI_CB) { - *ci_cb_sum += bi->ci_cb; - (*ci_cb_num)++; - } /* copy burst to buffer of 4 bursts */ burst = *bursts_p + bid * 116; @@ -987,19 +1041,21 @@ } else l2_len = GSM_MACBLOCK_LEN; + /* Average measurements of the last 4 bursts */ + l1sched_meas_average(chan_state, &meas_set, 4); + /* Nothing to store for the next block */ + l1sched_meas_squeeze(chan_state, 0); + /* Send uplink measurement information to L2 */ l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, - *rssi_sum / *rssi_num, - *toa256_sum / *toa_num); - lqual_cb = *ci_cb_num ? (*ci_cb_sum / *ci_cb_num) : 0; + meas_set.rssi, meas_set.toa256); ber10k = compute_ber10k(n_bits_total, n_errors); return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, chan, l2, l2_len, - *rssi_sum / *rssi_num, - *toa256_sum / *toa_num, - lqual_cb, ber10k, + meas_set.rssi, meas_set.toa256, + meas_set.ci_cb, ber10k, PRES_INFO_UNKNOWN); } @@ -1012,15 +1068,9 @@ sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; - float *rssi_sum = &chan_state->rssi_sum; - uint8_t *rssi_num = &chan_state->rssi_num; - int32_t *toa256_sum = &chan_state->toa256_sum; - uint8_t *toa_num = &chan_state->toa_num; - int32_t *ci_cb_sum = &chan_state->ci_cb_sum; - uint8_t *ci_cb_num = &chan_state->ci_cb_num; uint8_t l2[EGPRS_0503_MAX_BYTES]; + struct l1sched_meas_set meas_set; int n_errors, n_bursts_bits, n_bits_total; - int16_t lqual_cb; uint16_t ber10k; int rc; @@ -1033,6 +1083,8 @@ GSM0503_EGPRS_BURSTS_NBITS); if (!*bursts_p) return -ENOMEM; + /* HACK: also initialize the measurement history */ + INIT_LLIST_HEAD(&chan_state->meas.hist); } /* clear burst */ @@ -1040,26 +1092,13 @@ memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); *mask = 0x0; *first_fn = bi->fn; - *rssi_sum = 0; - *rssi_num = 0; - *toa256_sum = 0; - *toa_num = 0; - *ci_cb_sum = 0; - *ci_cb_num = 0; } - /* update mask + rssi */ + /* store the measurements */ + l1sched_meas_push(chan_state, bi); + + /* update the mask */ *mask |= (1 << bid); - *rssi_sum += bi->rssi; - (*rssi_num)++; - *toa256_sum += bi->toa256; - (*toa_num)++; - - /* C/I: Carrier-to-Interference ratio (in centiBels) */ - if (bi->flags & TRX_BI_F_CI_CB) { - *ci_cb_sum += bi->ci_cb; - (*ci_cb_num)++; - } /* copy burst to buffer of 4 bursts */ if (bi->burst_len == EGPRS_BURST_LEN) { @@ -1100,13 +1139,16 @@ &n_errors, &n_bits_total); } + /* Average measurements of the last 4 bursts */ + l1sched_meas_average(chan_state, &meas_set, 4); + /* Nothing to store for the next block */ + l1sched_meas_squeeze(chan_state, 0); /* Send uplink measurement information to L2 */ l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, - *rssi_sum / *rssi_num, - *toa256_sum / *toa_num); + meas_set.rssi, meas_set.toa256); if (rc <= 0) { LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, @@ -1115,13 +1157,11 @@ return 0; } - lqual_cb = *ci_cb_num ? (*ci_cb_sum / *ci_cb_num) : 0; ber10k = compute_ber10k(n_bits_total, n_errors); return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, chan, l2, rc, - *rssi_sum / *rssi_num, - *toa256_sum / *toa_num, - lqual_cb, ber10k, + meas_set.rssi, meas_set.toa256, + meas_set.ci_cb, ber10k, PRES_INFO_BOTH); } @@ -1137,6 +1177,7 @@ uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; uint8_t tch_data[128]; /* just to be safe */ + struct l1sched_meas_set meas_set; int rc, amr = 0; int n_errors, n_bits_total; bool bfi_flag = false; @@ -1155,6 +1196,8 @@ *bursts_p = talloc_zero_size(tall_bts_ctx, 928); if (!*bursts_p) return -ENOMEM; + /* HACK: also initialize the measurement history */ + INIT_LLIST_HEAD(&chan_state->meas.hist); } /* clear burst */ @@ -1164,6 +1207,9 @@ *first_fn = bi->fn; } + /* store the measurements */ + l1sched_meas_push(chan_state, bi); + /* update mask */ *mask |= (1 << bid); @@ -1225,11 +1271,16 @@ } memcpy(*bursts_p, *bursts_p + 464, 464); + /* Average measurements of the last 8 bursts */ + l1sched_meas_average(chan_state, &meas_set, 8); + /* Keep measurements of the last 4 bursts */ + l1sched_meas_squeeze(chan_state, 4); + /* Send uplink measurement information to L2 */ l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, - bi->rssi, bi->toa256); + meas_set.rssi, meas_set.toa256); /* Check if the frame is bad */ if (rc < 0) { @@ -1257,10 +1308,9 @@ /* FIXME: this calculation is wrong */ (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, tch_data + amr, GSM_MACBLOCK_LEN, - /* FIXME: AVG RSSI and ToA256 */ - bi->rssi, bi->toa256, - 0 /* FIXME: AVG C/I */, - ber10k, PRES_INFO_UNKNOWN); + meas_set.rssi, meas_set.toa256, + meas_set.ci_cb, ber10k, + PRES_INFO_UNKNOWN); bfi: if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { /* indicate bad frame */ @@ -1332,6 +1382,7 @@ uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; uint8_t tch_data[128]; /* just to be safe */ + struct l1sched_meas_set meas_set; int rc, amr = 0; int n_errors, n_bits_total; bool bfi_flag = false; @@ -1355,6 +1406,8 @@ *bursts_p = talloc_zero_size(tall_bts_ctx, 696); if (!*bursts_p) return -ENOMEM; + /* HACK: also initialize the measurement history */ + INIT_LLIST_HEAD(&chan_state->meas.hist); } /* clear burst */ @@ -1364,6 +1417,9 @@ *first_fn = bi->fn; } + /* store the measurements */ + l1sched_meas_push(chan_state, bi); + /* update mask */ *mask |= (1 << bid); @@ -1436,11 +1492,18 @@ memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); + /* Average measurements of either the last 4 bursts (speech), + * or the last 6 bursts (in case if FACCH/H was received). */ + l1sched_meas_average(chan_state, &meas_set, rc == GSM_MACBLOCK_LEN ? 6 : 4); + /* Keep measurements of the last 2 bursts */ + l1sched_meas_squeeze(chan_state, 2); + /* Send uplink measurement information to L2 */ l1if_process_meas_res(l1t->trx, bi->tn, *first_fn /* FIXME: this is wrong */, trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, bi->rssi, bi->toa256); + n_errors, n_bits_total, + meas_set.rssi, meas_set.toa256); /* Check if the frame is bad */ if (rc < 0) { @@ -1469,10 +1532,9 @@ /* FIXME: what the hell is this?!? */ (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn % 26) >= 19)) % GSM_HYPERFRAME, chan, tch_data + amr, GSM_MACBLOCK_LEN, - /* FIXME: AVG both RSSI and ToA */ - bi->rssi, bi->toa256, - 0 /* FIXME: AVG C/I */, - ber10k, PRES_INFO_UNKNOWN); + meas_set.rssi, meas_set.toa256, + meas_set.ci_cb, ber10k, + PRES_INFO_UNKNOWN); bfi: /* FIXME: a FACCH/H frame replaces two speech frames, * so we actually need to send two bad frame indications! */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 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 Oct 18 21:59:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 18 Oct 2019 21:59:06 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 18 Oct 2019 21:59: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 Sat Oct 19 06:53:21 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 19 Oct 2019 06:53:21 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#541?= Message-ID: <1627078071.287.1571468001845.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 148.54 KB...] 320 0 0 320 140 obj/owhw/dfu_board_lowlevel.o 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sat Oct 19 08:37:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Oct 2019 08:37:24 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... Patch Set 3: Code-Review+1 Fine by me. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Comment-Date: Sat, 19 Oct 2019 08:37: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 Sat Oct 19 10:07:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 10:07:59 +0000 Subject: Change in osmo-sgsn[master]: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 ) Change subject: sgsn: Gb: implementing PS Paging when MS is MM_STANDBY ...................................................................... sgsn: Gb: implementing PS Paging when MS is MM_STANDBY When the MS is in MM_STANDBY, the Routing Area is known, but not the exact cell. Start the paging procedure. (Even this is only supported for the last known cell, not the Routing Area. Routing Area paging is not yet supported.) Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c --- M src/sgsn/sgsn_libgtp.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/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index a39687f..c45431a 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -664,6 +665,11 @@ /* FIXME: queue the packet we received from GTP */ break; case ST_GMM_REGISTERED_NORMAL: + OSMO_ASSERT(mm->gb.mm_state_fsm->state != ST_MM_IDLE); + if (mm->gb.mm_state_fsm->state == ST_MM_STANDBY) + gprs_gb_page_ps_ra(mm); + + /* FIXME: queue the packet we received from GTP */ break; default: LOGP(DGPRS, LOGL_ERROR, "GTP DATA IND for TLLI %08X in state " -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c Gerrit-Change-Number: 15705 Gerrit-PatchSet: 6 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 admin at opensuse.org Sat Oct 19 10:10:07 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 19 Oct 2019 10:10:07 +0000 Subject: Build failure of network:osmocom:nightly/binutils-arm-osmo-eabi in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5daae115c0a41_406e2ad09706a5f815818df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/binutils-arm-osmo-eabi/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/binutils-arm-osmo-eabi failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly binutils-arm-osmo-eabi Last lines of build log: [ 235s] ../../bfd/tekhex.c:1009:3: note: in expansion of macro 'BFD_JUMP_TABLE_DYNAMIC' [ 235s] 1009 | BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), [ 235s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 235s] cc1: all warnings being treated as errors [ 235s] make[5]: *** [Makefile:1517: srec.lo] Error 1 [ 235s] cc1: all warnings being treated as errors [ 235s] make[5]: *** [Makefile:1517: tekhex.lo] Error 1 [ 235s] make[5]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 235s] make[4]: *** [Makefile:1555: all-recursive] Error 1 [ 235s] make[4]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 235s] make[3]: *** [Makefile:1066: all] Error 2 [ 235s] make[3]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 235s] make[2]: *** [Makefile:3331: all-bfd] Error 2 [ 235s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 235s] make[1]: *** [Makefile:850: all] Error 2 [ 235s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 235s] dh_auto_build: cd build && make -j8 returned exit code 2 [ 235s] make: *** [debian/rules:43: build] Error 255 [ 235s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 235s] [ 235s] lamb52 failed "build binutils-arm-osmo-eabi_2.21.1a.dsc" at Sat Oct 19 10:09:49 UTC 2019. [ 235s] [ 235s] ### VM INTERACTION START ### [ 238s] [ 224.218611] sysrq: SysRq : Power Off [ 238s] [ 224.226128] reboot: Power down [ 238s] ### VM INTERACTION END ### [ 238s] [ 238s] lamb52 failed "build binutils-arm-osmo-eabi_2.21.1a.dsc" at Sat Oct 19 10:09:53 UTC 2019. [ 238s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Oct 19 10:20:25 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 19 Oct 2019 10:20:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5daae36c65bbf_406e2ad09706a5f81583736@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 274s] #define HAVE_SYS_TYPES_H 1 [ 274s] #define HAVE_SYS_STAT_H 1 [ 274s] #define HAVE_STDLIB_H 1 [ 274s] #define HAVE_STRING_H 1 [ 274s] #define HAVE_MEMORY_H 1 [ 274s] #define HAVE_STRINGS_H 1 [ 274s] #define HAVE_INTTYPES_H 1 [ 274s] #define HAV[ 260.864490] serial8250: too much work for irq4 [ 274s] E_STDINT_H 1 [ 274s] #define HAVE_UNISTD_H 1 [ 274s] #define HAVE_DLFCN_H 1 [ 274s] #define LT_OBJDIR ".libs/" [ 274s] [ 274s] configure: exit 1 [ 274s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 274s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 255 [ 274s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 274s] make: *** [debian/rules:17: build] Error 2 [ 274s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 274s] [ 274s] build79 failed "build osmo-mgw_1.6.0.17.843d.dsc" at Sat Oct 19 10:20:07 UTC 2019. [ 274s] [ 274s] ### VM INTERACTION START ### [ 277s] [ 264.056907] sysrq: SysRq : Power Off [ 277s] [ 264.059640] reboot: Power down [ 277s] ### VM INTERACTION END ### [ 277s] [ 277s] build79 failed "build osmo-mgw_1.6.0.17.843d.dsc" at Sat Oct 19 10:20:11 UTC 2019. [ 277s] -- 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 Oct 19 10:30:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 10:30:29 +0000 Subject: Change in libosmo-sccp[master]: Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15808 ) Change subject: Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() ...................................................................... Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() Change-Id: Ic85fc460cc1f31d0fb407095afe417ceaa60e7bd --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c 2 files changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/08/15808/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index f448ce7..14e2b7c 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -430,8 +430,14 @@ void osmo_ss7_register_rx_unknown_cb(osmo_ss7_asp_rx_unknown_cb *cb); +#define _LOGSS7(inst, subsys, level, fmt, args ...) \ + LOGP(subsys, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args) +#define LOGSS7(inst, level, fmt, args ...) _LOGSS7(inst, DLSS7, level, fmt, ## args) + #define LOGPASP(asp, subsys, level, fmt, args ...) \ - LOGP(subsys, level, "asp-%s: " fmt, (asp)->cfg.name, ## args) + _LOGSS7((asp)->inst, subsys, level, "asp-%s: " fmt, (asp)->cfg.name, ## args) +#define LOGPAS(as, subsys, level, fmt, args ...) \ + _LOGSS7((as)->inst, subsys, level, "as-%s: " fmt, (as)->cfg.name, ## args) /*********************************************************************** * xUA Servers diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 053feca..8519ced 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -74,9 +74,6 @@ { 0, NULL } }; -#define LOGSS7(inst, level, fmt, args ...) \ - LOGP(DLSS7, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args) - static int asp_proto_to_ip_proto(enum osmo_ss7_asp_protocol proto) { switch (proto) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic85fc460cc1f31d0fb407095afe417ceaa60e7bd Gerrit-Change-Number: 15808 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 Oct 19 10:30:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 10:30:29 +0000 Subject: Change in libosmo-sccp[master]: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 ) Change subject: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable ...................................................................... Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable Change-Id: If3a88863d18941c10d34361b323412ad7e517334 --- M src/osmo_ss7.c 1 file changed, 9 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/09/15809/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 8519ced..8d188fc 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -985,7 +985,6 @@ return NULL; if (!as) { - LOGSS7(inst, LOGL_INFO, "Creating AS %s\n", name); as = talloc_zero(inst, struct osmo_ss7_as); if (!as) return NULL; @@ -997,6 +996,7 @@ as->cfg.routing_key.l_rk_id = find_free_l_rk_id(inst); as->fi = xua_as_fsm_start(as, LOGL_DEBUG); llist_add_tail(&as->list, &inst->as_list); + LOGPAS(as, DLSS7, LOGL_INFO, "Created AS\n"); } return as; @@ -1016,8 +1016,7 @@ if (!asp) return -ENODEV; - LOGSS7(as->inst, LOGL_INFO, "Adding ASP %s to AS %s\n", - asp->cfg.name, as->cfg.name); + LOGPAS(as, DLSS7, LOGL_INFO, "Adding ASP %s to AS\n", asp->cfg.name); if (osmo_ss7_as_has_asp(as, asp)) return 0; @@ -1046,8 +1045,7 @@ if (!asp) return -ENODEV; - LOGSS7(as->inst, LOGL_INFO, "Removing ASP %s from AS %s\n", - asp->cfg.name, as->cfg.name); + LOGPAS(as, DLSS7, LOGL_INFO, "Removing ASP %s from AS\n", asp->cfg.name); for (i = 0; i < ARRAY_SIZE(as->cfg.asps); i++) { if (as->cfg.asps[i] == asp) { @@ -1066,7 +1064,7 @@ struct osmo_ss7_route *rt, *rt2; OSMO_ASSERT(ss7_initialized); - LOGSS7(as->inst, LOGL_INFO, "Destroying AS %s\n", as->cfg.name); + LOGPAS(as, DLSS7, LOGL_INFO, "Destroying AS\n"); if (as->fi) osmo_fsm_inst_term(as->fi, OSMO_FSM_TERM_REQUEST, NULL); @@ -1233,7 +1231,7 @@ struct osmo_ss7_as *as; OSMO_ASSERT(ss7_initialized); - LOGSS7(asp->inst, LOGL_INFO, "Destroying ASP %s\n", asp->cfg.name); + LOGPASP(asp, DLSS7, LOGL_INFO, "Destroying ASP\n"); if (asp->server) osmo_stream_srv_destroy(asp->server); @@ -1270,7 +1268,7 @@ enum xua_asp_role role; OSMO_ASSERT(ss7_initialized); - LOGSS7(asp->inst, LOGL_INFO, "Restarting ASP %s\n", asp->cfg.name); + LOGPASP(asp, DLSS7, LOGL_INFO, "Restarting ASP\n"); if (!asp->cfg.is_server) { /* We are in client mode now */ @@ -1283,7 +1281,7 @@ if (!asp->client) asp->client = osmo_stream_cli_create(asp); if (!asp->client) { - LOGSS7(asp->inst, LOGL_ERROR, "Unable to create stream" + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to create stream" " client for ASP %s\n", asp->cfg.name); return -1; } @@ -1302,7 +1300,7 @@ osmo_stream_cli_set_data(asp->client, asp); rc = osmo_stream_cli_open(asp->client); if (rc < 0) { - LOGSS7(asp->inst, LOGL_ERROR, "Unable to open stream" + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to open stream" " client for ASP %s\n", asp->cfg.name); /* we don't return error in here because osmo_stream_cli_open() will continue to retry (due to timeout being explicitly set with @@ -1319,7 +1317,7 @@ asp->client = NULL; } /* FIXME: ensure we have a SCTP server */ - LOGSS7(asp->inst, LOGL_NOTICE, "ASP Restart for server " + LOGPASP(asp, DLSS7, LOGL_NOTICE, "ASP Restart for server " "not implemented yet!\n"); /* TODO: make this configurable and not implicit */ role = XUA_ASPFSM_ROLE_SG; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If3a88863d18941c10d34361b323412ad7e517334 Gerrit-Change-Number: 15809 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 Oct 19 10:30:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 10:30:29 +0000 Subject: Change in libosmo-sccp[master]: ipa: Don't send non-SCCP data over IPA/SCCPlite References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15810 ) Change subject: ipa: Don't send non-SCCP data over IPA/SCCPlite ...................................................................... ipa: Don't send non-SCCP data over IPA/SCCPlite The IPA/SCCPlite stacking is - as the name implies - constrained to the transport of SCCP messages. We have to reject any non-SCCP payload. Change-Id: I5e5a2879013ee8cf08aa4199b4bee498dcb61446 Fixes: OS#4235 --- M src/ipa.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/10/15810/1 diff --git a/src/ipa.c b/src/ipa.c index f3a7a52..d013916 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -57,6 +57,7 @@ int ipa_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua) { struct xua_msg_part *data_ie; + struct m3ua_data_hdr *data_hdr; struct msgb *msg; unsigned int src_len; const uint8_t *src; @@ -68,6 +69,13 @@ data_ie = xua_msg_find_tag(xua, M3UA_IEI_PROT_DATA); if (!data_ie || data_ie->len < sizeof(struct m3ua_data_hdr)) return -1; + data_hdr = (struct m3ua_data_hdr *) data_ie->dat; + + if (data_hdr->si != MTP_SI_SCCP) { + LOGPAS(as, DLSS7, LOGL_ERROR, "Cannot transmit non-SCCP SI (%u) to IPA peer\n", + data_hdr->si); + return -1; + } /* and even the data part still has the header prepended */ src = data_ie->dat + sizeof(struct m3ua_data_hdr); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5e5a2879013ee8cf08aa4199b4bee498dcb61446 Gerrit-Change-Number: 15810 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 Oct 19 10:49:45 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 19 Oct 2019 10:49:45 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... Patch Set 3: @pespin Please, could you merge this? Looks like I don't have +2 rights here for some reason. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Oct 2019 10:49: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 Oct 19 11:42:59 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Oct 2019 11:42:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15811 ) Change subject: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() ...................................................................... osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() All other Uplink burst handlers print frame number of the last (currently received) burst. Let's make rx_data_fn() consistent. Change-Id: Ie5762a132326be3ef4e4e38cc126f05d51098a20 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/15811/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8662a14..d63987b 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -967,7 +967,7 @@ if ((*mask & 0xf) != 0xf) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received incomplete data (%u/%u)\n", - *first_fn, (*first_fn) % l1ts->mf_period); + bi->fn % l1ts->mf_period, l1ts->mf_period); /* we require first burst to have correct FN */ if (!(*mask & 0x1)) { @@ -982,7 +982,7 @@ if (rc) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u)\n", - *first_fn, (*first_fn) % l1ts->mf_period); + bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = 0; } else l2_len = GSM_MACBLOCK_LEN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie5762a132326be3ef4e4e38cc126f05d51098a20 Gerrit-Change-Number: 15811 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 Oct 19 11:42:59 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Oct 2019 11:42:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor the first frame number calculation References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15812 ) Change subject: osmo-bts-trx/scheduler: refactor the first frame number calculation ...................................................................... osmo-bts-trx/scheduler: refactor the first frame number calculation In I6bc511223069f66b49109d3267bee7bd89585713 we have introduced the storage for Uplink measurements (so called "history"), where we can also store TDMA frame numbers of the related bursts. This approach allows to look up frame number of the first Uplink burst of a decoded block from the history. Thus neither we need to store frame number of bid=0 in the logical channel state, nor use complicated and buggy formulas. This is not a silver bullet, because in some cases the measurement history may be incomplete (until we start handling NOPE.ind from the transceiver, see OS#3428). In such cases we would still need to look up the first frame number using the block mapping tables defined in 3GPP TS 45.002. Change-Id: Iae9a0135595b0c56752723669a4ed2fc91f25785 Related: OS#3803 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 54 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/15812/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index e6ec37d..f096374 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -72,6 +72,7 @@ /* A set of measurements attached to a burst */ struct l1sched_meas_set { struct llist_head list; /* Link to the measurement history */ + uint32_t fn; /* TDMA frame-number */ int16_t toa256; /* Timing of Arrival (1/256 of a symbol) */ int16_t ci_cb; /* Carrier-to-Interference (cB) */ @@ -85,7 +86,6 @@ ubit_t *dl_bursts; /* burst buffer for TX */ enum trx_burst_type dl_burst_type; /* GMSK or 8PSK burst type */ sbit_t *ul_bursts; /* burst buffer for RX */ - uint32_t ul_first_fn; /* fn of first burst */ uint8_t ul_mask; /* mask of received bursts */ /* loss detection */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index ae23ddd..39f118d 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -898,6 +898,9 @@ set = talloc(tall_bts_ctx, struct l1sched_meas_set); OSMO_ASSERT(set != NULL); + /* Attach TDMA frame number */ + set->fn = bi->fn; + set->toa256 = bi->toa256; set->rssi = bi->rssi; @@ -962,6 +965,30 @@ } } +/* Get TDMA frame number of N-th measurement from the history. */ +static uint32_t l1sched_meas_get_fn(const struct l1sched_chan_state *chan_state, + unsigned int num) +{ + const struct llist_head *hist = &chan_state->meas.hist; + struct l1sched_meas_set *set; + + /* There shall be at least one set */ + OSMO_ASSERT(chan_state->meas.num > 0); + + /* Try to find N-th measurement in the history */ + llist_for_each_entry(set, hist, list) { + if (num == 0) + return set->fn; + num -= 1; + } + + /* Not enough measurements in the history? */ + LOGP(DL1P, LOGL_NOTICE, "Failed to find TDMA frame number in the history, " + "using frame number of the last burst\n"); + set = llist_first_entry(hist, struct l1sched_meas_set, list); + return set->fn; /* return frame number of the last burst */ +} + /*! \brief a single (SDCCH/SACCH) burst was received by the PHY, process it */ int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, uint8_t bid, const struct trx_ul_burst_ind *bi) @@ -969,11 +996,11 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t l2[GSM_MACBLOCK_LEN], l2_len; struct l1sched_meas_set meas_set; int n_errors, n_bits_total; + uint32_t first_fn; uint16_t ber10k; int rc; @@ -997,7 +1024,6 @@ if (bid == 0) { memset(*bursts_p, 0, 464); *mask = 0x0; - *first_fn = bi->fn; } /* store the measurements */ @@ -1045,18 +1071,21 @@ } else l2_len = GSM_MACBLOCK_LEN; + /* Get frame number of the first burst (1/4) */ + first_fn = l1sched_meas_get_fn(chan_state, 4); + /* Average measurements of the last 4 bursts */ l1sched_meas_average(chan_state, &meas_set, 4); /* Nothing to store for the next block */ l1sched_meas_squeeze(chan_state, 0); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, + l1if_process_meas_res(l1t->trx, bi->tn, first_fn, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, meas_set.rssi, meas_set.toa256); ber10k = compute_ber10k(n_bits_total, n_errors); - return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, + return _sched_compose_ph_data_ind(l1t, bi->tn, first_fn, chan, l2, l2_len, meas_set.rssi, meas_set.toa256, meas_set.ci_cb, ber10k, @@ -1070,11 +1099,11 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t l2[EGPRS_0503_MAX_BYTES]; struct l1sched_meas_set meas_set; int n_errors, n_bursts_bits, n_bits_total; + uint32_t first_fn; uint16_t ber10k; int rc; @@ -1095,7 +1124,6 @@ if (bid == 0) { memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); *mask = 0x0; - *first_fn = bi->fn; } /* store the measurements */ @@ -1143,13 +1171,16 @@ &n_errors, &n_bits_total); } + /* Get frame number of the first burst (1/4) */ + first_fn = l1sched_meas_get_fn(chan_state, 4); + /* Average measurements of the last 4 bursts */ l1sched_meas_average(chan_state, &meas_set, 4); /* Nothing to store for the next block */ l1sched_meas_squeeze(chan_state, 0); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, + l1if_process_meas_res(l1t->trx, bi->tn, first_fn, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, meas_set.rssi, meas_set.toa256); @@ -1163,7 +1194,7 @@ ber10k = compute_ber10k(n_bits_total, n_errors); return _sched_compose_ph_data_ind(l1t, bi->tn, - *first_fn, chan, l2, rc, + first_fn, chan, l2, rc, meas_set.rssi, meas_set.toa256, meas_set.ci_cb, ber10k, PRES_INFO_BOTH); @@ -1176,12 +1207,12 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; uint8_t tch_data[128]; /* just to be safe */ struct l1sched_meas_set meas_set; + uint32_t first_fn; int rc, amr = 0; int n_errors, n_bits_total; bool bfi_flag = false; @@ -1208,7 +1239,6 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 464); *mask = 0x0; - *first_fn = bi->fn; } /* store the measurements */ @@ -1275,13 +1305,16 @@ } memcpy(*bursts_p, *bursts_p + 464, 464); + /* Get frame number of the first burst (1/8) */ + first_fn = l1sched_meas_get_fn(chan_state, 8); + /* Average measurements of the last 8 bursts */ l1sched_meas_average(chan_state, &meas_set, 8); /* Keep measurements of the last 4 bursts */ l1sched_meas_squeeze(chan_state, 4); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, + l1if_process_meas_res(l1t->trx, bi->tn, first_fn, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, meas_set.rssi, meas_set.toa256); @@ -1308,9 +1341,7 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, bi->tn, - /* FIXME: this calculation is wrong */ - (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, + _sched_compose_ph_data_ind(l1t, bi->tn, first_fn, chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_set.rssi, meas_set.toa256, meas_set.ci_cb, ber10k, @@ -1368,10 +1399,7 @@ /* TCH or BFI */ compose_l1sap: - return _sched_compose_tch_ind(l1t, bi->tn, - /* FIXME: this calculation is wrong */ - (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, - tch_data, rc); + return _sched_compose_tch_ind(l1t, bi->tn, first_fn, chan, tch_data, rc); } /*! \brief a single TCH/H burst was received by the PHY, process it */ @@ -1381,12 +1409,12 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; uint8_t tch_data[128]; /* just to be safe */ struct l1sched_meas_set meas_set; + uint32_t first_fn; int rc, amr = 0; int n_errors, n_bits_total; bool bfi_flag = false; @@ -1418,7 +1446,6 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 232); *mask = 0x0; - *first_fn = bi->fn; } /* store the measurements */ @@ -1496,6 +1523,9 @@ memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); + /* Get frame number of the first burst (either 1/4 or 1/6) */ + first_fn = l1sched_meas_get_fn(chan_state, rc == GSM_MACBLOCK_LEN ? 6 : 4); + /* Average measurements of either the last 4 bursts (speech), * or the last 6 bursts (in case if FACCH/H was received). */ l1sched_meas_average(chan_state, &meas_set, rc == GSM_MACBLOCK_LEN ? 6 : 4); @@ -1503,8 +1533,7 @@ l1sched_meas_squeeze(chan_state, 2); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, - *first_fn /* FIXME: this is wrong */, + l1if_process_meas_res(l1t->trx, bi->tn, first_fn, trx_chan_desc[chan].chan_nr | bi->tn, n_errors, n_bits_total, meas_set.rssi, meas_set.toa256); @@ -1532,9 +1561,7 @@ if (rc == GSM_MACBLOCK_LEN) { chan_state->ul_ongoing_facch = 1; uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, bi->tn, - /* FIXME: what the hell is this?!? */ - (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn % 26) >= 19)) % GSM_HYPERFRAME, chan, + _sched_compose_ph_data_ind(l1t, bi->tn, first_fn, chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_set.rssi, meas_set.toa256, meas_set.ci_cb, ber10k, @@ -1589,15 +1616,7 @@ compose_l1sap: /* TCH or BFI */ - /* Note on FN 19 or 20: If we received the last burst of a frame, - * it actually starts at FN 8 or 9. A burst starting there, overlaps - * with the slot 12, so an extra FN must be subtracted to get correct - * start of frame. - */ - return _sched_compose_tch_ind(l1t, bi->tn, - /* FIXME: what the hell is this?!? */ - (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn%26)==19) - ((bi->fn%26)==20)) % GSM_HYPERFRAME, - chan, tch_data, rc); + return _sched_compose_tch_ind(l1t, bi->tn, first_fn, chan, tch_data, rc); } /* schedule all frames of all TRX for given FN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae9a0135595b0c56752723669a4ed2fc91f25785 Gerrit-Change-Number: 15812 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 Oct 19 12:13:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 12:13:24 +0000 Subject: Change in libosmo-sccp[master]: Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15808 ) Change subject: Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic85fc460cc1f31d0fb407095afe417ceaa60e7bd Gerrit-Change-Number: 15808 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 19 Oct 2019 12:13: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 Sat Oct 19 12:13:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 12:13:47 +0000 Subject: Change in libosmo-sccp[master]: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 ) Change subject: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If3a88863d18941c10d34361b323412ad7e517334 Gerrit-Change-Number: 15809 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 19 Oct 2019 12:13: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 Oct 19 12:13:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 12:13:49 +0000 Subject: Change in libosmo-sccp[master]: Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15808 ) Change subject: Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() ...................................................................... Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP() Change-Id: Ic85fc460cc1f31d0fb407095afe417ceaa60e7bd --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c 2 files changed, 7 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index f448ce7..14e2b7c 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -430,8 +430,14 @@ void osmo_ss7_register_rx_unknown_cb(osmo_ss7_asp_rx_unknown_cb *cb); +#define _LOGSS7(inst, subsys, level, fmt, args ...) \ + LOGP(subsys, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args) +#define LOGSS7(inst, level, fmt, args ...) _LOGSS7(inst, DLSS7, level, fmt, ## args) + #define LOGPASP(asp, subsys, level, fmt, args ...) \ - LOGP(subsys, level, "asp-%s: " fmt, (asp)->cfg.name, ## args) + _LOGSS7((asp)->inst, subsys, level, "asp-%s: " fmt, (asp)->cfg.name, ## args) +#define LOGPAS(as, subsys, level, fmt, args ...) \ + _LOGSS7((as)->inst, subsys, level, "as-%s: " fmt, (as)->cfg.name, ## args) /*********************************************************************** * xUA Servers diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 053feca..8519ced 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -74,9 +74,6 @@ { 0, NULL } }; -#define LOGSS7(inst, level, fmt, args ...) \ - LOGP(DLSS7, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args) - static int asp_proto_to_ip_proto(enum osmo_ss7_asp_protocol proto) { switch (proto) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic85fc460cc1f31d0fb407095afe417ceaa60e7bd Gerrit-Change-Number: 15808 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 Oct 19 12:13:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 12:13:56 +0000 Subject: Change in libosmo-sccp[master]: ipa: Don't send non-SCCP data over IPA/SCCPlite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15810 ) Change subject: ipa: Don't send non-SCCP data over IPA/SCCPlite ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5e5a2879013ee8cf08aa4199b4bee498dcb61446 Gerrit-Change-Number: 15810 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 19 Oct 2019 12: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 Sat Oct 19 12:13:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 12:13:58 +0000 Subject: Change in libosmo-sccp[master]: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 ) Change subject: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If3a88863d18941c10d34361b323412ad7e517334 Gerrit-Change-Number: 15809 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 19 Oct 2019 12:13: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 Sat Oct 19 12:13:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 12:13:59 +0000 Subject: Change in libosmo-sccp[master]: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 ) Change subject: Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable ...................................................................... Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable Change-Id: If3a88863d18941c10d34361b323412ad7e517334 --- M src/osmo_ss7.c 1 file changed, 9 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 8519ced..8d188fc 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -985,7 +985,6 @@ return NULL; if (!as) { - LOGSS7(inst, LOGL_INFO, "Creating AS %s\n", name); as = talloc_zero(inst, struct osmo_ss7_as); if (!as) return NULL; @@ -997,6 +996,7 @@ as->cfg.routing_key.l_rk_id = find_free_l_rk_id(inst); as->fi = xua_as_fsm_start(as, LOGL_DEBUG); llist_add_tail(&as->list, &inst->as_list); + LOGPAS(as, DLSS7, LOGL_INFO, "Created AS\n"); } return as; @@ -1016,8 +1016,7 @@ if (!asp) return -ENODEV; - LOGSS7(as->inst, LOGL_INFO, "Adding ASP %s to AS %s\n", - asp->cfg.name, as->cfg.name); + LOGPAS(as, DLSS7, LOGL_INFO, "Adding ASP %s to AS\n", asp->cfg.name); if (osmo_ss7_as_has_asp(as, asp)) return 0; @@ -1046,8 +1045,7 @@ if (!asp) return -ENODEV; - LOGSS7(as->inst, LOGL_INFO, "Removing ASP %s from AS %s\n", - asp->cfg.name, as->cfg.name); + LOGPAS(as, DLSS7, LOGL_INFO, "Removing ASP %s from AS\n", asp->cfg.name); for (i = 0; i < ARRAY_SIZE(as->cfg.asps); i++) { if (as->cfg.asps[i] == asp) { @@ -1066,7 +1064,7 @@ struct osmo_ss7_route *rt, *rt2; OSMO_ASSERT(ss7_initialized); - LOGSS7(as->inst, LOGL_INFO, "Destroying AS %s\n", as->cfg.name); + LOGPAS(as, DLSS7, LOGL_INFO, "Destroying AS\n"); if (as->fi) osmo_fsm_inst_term(as->fi, OSMO_FSM_TERM_REQUEST, NULL); @@ -1233,7 +1231,7 @@ struct osmo_ss7_as *as; OSMO_ASSERT(ss7_initialized); - LOGSS7(asp->inst, LOGL_INFO, "Destroying ASP %s\n", asp->cfg.name); + LOGPASP(asp, DLSS7, LOGL_INFO, "Destroying ASP\n"); if (asp->server) osmo_stream_srv_destroy(asp->server); @@ -1270,7 +1268,7 @@ enum xua_asp_role role; OSMO_ASSERT(ss7_initialized); - LOGSS7(asp->inst, LOGL_INFO, "Restarting ASP %s\n", asp->cfg.name); + LOGPASP(asp, DLSS7, LOGL_INFO, "Restarting ASP\n"); if (!asp->cfg.is_server) { /* We are in client mode now */ @@ -1283,7 +1281,7 @@ if (!asp->client) asp->client = osmo_stream_cli_create(asp); if (!asp->client) { - LOGSS7(asp->inst, LOGL_ERROR, "Unable to create stream" + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to create stream" " client for ASP %s\n", asp->cfg.name); return -1; } @@ -1302,7 +1300,7 @@ osmo_stream_cli_set_data(asp->client, asp); rc = osmo_stream_cli_open(asp->client); if (rc < 0) { - LOGSS7(asp->inst, LOGL_ERROR, "Unable to open stream" + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to open stream" " client for ASP %s\n", asp->cfg.name); /* we don't return error in here because osmo_stream_cli_open() will continue to retry (due to timeout being explicitly set with @@ -1319,7 +1317,7 @@ asp->client = NULL; } /* FIXME: ensure we have a SCTP server */ - LOGSS7(asp->inst, LOGL_NOTICE, "ASP Restart for server " + LOGPASP(asp, DLSS7, LOGL_NOTICE, "ASP Restart for server " "not implemented yet!\n"); /* TODO: make this configurable and not implicit */ role = XUA_ASPFSM_ROLE_SG; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If3a88863d18941c10d34361b323412ad7e517334 Gerrit-Change-Number: 15809 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 Oct 19 12:14:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 12:14:00 +0000 Subject: Change in libosmo-sccp[master]: ipa: Don't send non-SCCP data over IPA/SCCPlite In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15810 ) Change subject: ipa: Don't send non-SCCP data over IPA/SCCPlite ...................................................................... ipa: Don't send non-SCCP data over IPA/SCCPlite The IPA/SCCPlite stacking is - as the name implies - constrained to the transport of SCCP messages. We have to reject any non-SCCP payload. Change-Id: I5e5a2879013ee8cf08aa4199b4bee498dcb61446 Fixes: OS#4235 --- M src/ipa.c 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/ipa.c b/src/ipa.c index f3a7a52..d013916 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -57,6 +57,7 @@ int ipa_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua) { struct xua_msg_part *data_ie; + struct m3ua_data_hdr *data_hdr; struct msgb *msg; unsigned int src_len; const uint8_t *src; @@ -68,6 +69,13 @@ data_ie = xua_msg_find_tag(xua, M3UA_IEI_PROT_DATA); if (!data_ie || data_ie->len < sizeof(struct m3ua_data_hdr)) return -1; + data_hdr = (struct m3ua_data_hdr *) data_ie->dat; + + if (data_hdr->si != MTP_SI_SCCP) { + LOGPAS(as, DLSS7, LOGL_ERROR, "Cannot transmit non-SCCP SI (%u) to IPA peer\n", + data_hdr->si); + return -1; + } /* and even the data part still has the header prepended */ src = data_ie->dat + sizeof(struct m3ua_data_hdr); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5e5a2879013ee8cf08aa4199b4bee498dcb61446 Gerrit-Change-Number: 15810 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 Oct 19 12:20:46 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 19 Oct 2019 12:20:46 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Patch Set 3: > when it comes to block-diagonal interleaving (which is used on > TCH/F and TCH/H channels), the results are incorrect. Could you explain why the result is no correct? If that's because of each burst affecting two frames - why not just have an avg counter per frame and add values to them accordingly? The code can be made cleaner than it is now, but there will be no need for traversing of a list. If there is something I missed why the above can't be done and we do need to store values - why not use an array? We know that we need 8 values max, so why not allocate an array of 8 elements to avoid linked list operations? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Oct 2019 12:20: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 Sat Oct 19 12:20:57 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 19 Oct 2019 12:20:57 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Patch Set 3: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 19 Oct 2019 12:20: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 Oct 19 14:20:23 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 19 Oct 2019 14:20:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor the first frame number calculation In-Reply-To: References: Message-ID: Hello dexter, pespin, ipse, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15812 to look at the new patch set (#2). Change subject: osmo-bts-trx/scheduler: refactor the first frame number calculation ...................................................................... osmo-bts-trx/scheduler: refactor the first frame number calculation In I6bc511223069f66b49109d3267bee7bd89585713 we have introduced the storage for Uplink measurements (so called "history"), where we can also store TDMA frame numbers of the related bursts. This approach allows to look up frame number of the first Uplink burst of a decoded block from the history. Thus neither we need to store frame number of bid=0 in the logical channel state, nor use complicated and buggy formulas. This is not a silver bullet, because in some cases the measurement history may be incomplete (until we start handling NOPE.ind from the transceiver, see OS#3428). In such cases we would still need to look up the first frame number using the block mapping tables defined in 3GPP TS 45.002. Change-Id: Iae9a0135595b0c56752723669a4ed2fc91f25785 Related: OS#3803 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 58 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/15812/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae9a0135595b0c56752723669a4ed2fc91f25785 Gerrit-Change-Number: 15812 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse 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 Oct 19 15:28:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 15:28:12 +0000 Subject: Change in libosmo-sccp[master]: ipa: Fix crash when parsing of received IPA SCCP message fails References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 ) Change subject: ipa: Fix crash when parsing of received IPA SCCP message fails ...................................................................... ipa: Fix crash when parsing of received IPA SCCP message fails If an IPA ASP is sending us a SCCP message that cannot be parsed, we shouldn't crash but handle this gracefully. While at it, also add some more logging to various realted error paths. Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Fixes: OS#4236 --- M src/ipa.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/13/15813/1 diff --git a/src/ipa.c b/src/ipa.c index d013916..bae88ac 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -178,6 +178,7 @@ xua_msg_add_sccp_addr(sua, SUA_IEI_DEST_ADDR, &addr); break; case -ENODEV: /* no destination address in message */ + LOGPASP(asp, DLSS7, LOGL_ERROR, "No destinatin address in SUA\n"); break; default: /* some other error */ xua_msg_free(sua); @@ -196,6 +197,7 @@ xua_msg_add_sccp_addr(sua, SUA_IEI_SRC_ADDR, &addr); break; case -ENODEV: /* no source address in message */ + LOGPASP(asp, DLSS7, LOGL_ERROR, "No source address in SUA\n"); break; default: /* some other error */ xua_msg_free(sua); @@ -204,6 +206,8 @@ /* re-encode SUA to SCCP and return */ sccp_msg_out = osmo_sua_to_sccp(sua); + if (!sccp_msg_out) + LOGPASP(asp, DLSS7, LOGL_ERROR, "Couldn't re-encode SUA to SCCP\n"); xua_msg_free(sua); return sccp_msg_out; } @@ -259,6 +263,10 @@ /* Second, patch this into the SCCP message */ msg = patch_sccp_with_pc(asp, msg, opc, dpc); + if (!msg) { + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to patch PC into SCCP message; dropping\n"); + return -1; + } /* Third, create a MTP3/M3UA label with those point codes */ memset(&data_hdr, 0, sizeof(data_hdr)); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Gerrit-Change-Number: 15813 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 Oct 19 15:48:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 15:48:07 +0000 Subject: Change in libosmo-sccp[master]: ipa: Fix crash when parsing of received IPA SCCP message fails 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-sccp/+/15813 to look at the new patch set (#2). Change subject: ipa: Fix crash when parsing of received IPA SCCP message fails ...................................................................... ipa: Fix crash when parsing of received IPA SCCP message fails If an IPA ASP is sending us a SCCP message that cannot be parsed, we shouldn't crash but handle this gracefully. While at it, also add some more logging to various realted error paths. Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Fixes: OS#4236 --- M src/ipa.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/13/15813/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Gerrit-Change-Number: 15813 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 Oct 19 15:51:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 15:51:32 +0000 Subject: Change in libosmo-sccp[master]: ipa: Fix crash when parsing of received IPA SCCP message fails 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-sccp/+/15813 to look at the new patch set (#3). Change subject: ipa: Fix crash when parsing of received IPA SCCP message fails ...................................................................... ipa: Fix crash when parsing of received IPA SCCP message fails If an IPA ASP is sending us a SCCP message that cannot be parsed, we shouldn't crash but handle this gracefully. Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Fixes: OS#4236 --- M src/ipa.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/13/15813/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Gerrit-Change-Number: 15813 Gerrit-PatchSet: 3 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 Oct 19 15:51:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 15:51:33 +0000 Subject: Change in libosmo-sccp[master]: ipa: VTY config option to explicitly enable/disable SCCP patching References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15814 ) Change subject: ipa: VTY config option to explicitly enable/disable SCCP patching ...................................................................... ipa: VTY config option to explicitly enable/disable SCCP patching When receiving SCCP messages from an IPA peer/ASP, osmo-stp so far unconditionally inserted origin/destination point codes int the SCCP called / calling party addresses. This behaviro is now made optional with the introduction of the following per-AS configuration: "point-code override patch-sccp (disabled|both)" The default behavior is switched from 'both' to 'disabled' at the same time. Change-Id: I535e2170adadfe755d2bcbf5bbf4556bebb77737 Closes: OS#4219 --- M include/osmocom/sigtran/osmo_ss7.h M src/ipa.c M src/osmo_ss7_vty.c 3 files changed, 40 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/14/15814/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 14e2b7c..d6ae1d4 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -290,6 +290,11 @@ int osmo_ss7_asp_protocol_port(enum osmo_ss7_asp_protocol prot); +enum osmo_ss7_as_patch_sccp_mode { + OSMO_SS7_PATCH_NONE, /* no patching of SCCP */ + OSMO_SS7_PATCH_BOTH, /* patch both OPC and DPC into SCCP addresses */ +}; + struct osmo_ss7_as { /*! entry in 'ref osmo_ss7_instance.as_list */ struct llist_head list; @@ -314,6 +319,7 @@ uint8_t qos_class; struct { uint32_t dpc; + enum osmo_ss7_as_patch_sccp_mode sccp_mode; } pc_override; struct osmo_ss7_asp *asps[16]; diff --git a/src/ipa.c b/src/ipa.c index eeefbe8..d7a929d 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -260,10 +260,12 @@ } /* Second, patch this into the SCCP message */ - msg = patch_sccp_with_pc(asp, msg, opc, dpc); - if (!msg) { - LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to patch PC into SCCP message; dropping\n"); - return -1; + if (as->cfg.pc_override.sccp_mode == OSMO_SS7_PATCH_BOTH) { + msg = patch_sccp_with_pc(asp, msg, opc, dpc); + if (!msg) { + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to patch PC into SCCP message; dropping\n"); + return -1; + } } /* Third, create a MTP3/M3UA label with those point codes */ diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index cc53b05..35ee5cd 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -932,6 +932,30 @@ return CMD_SUCCESS; } +DEFUN(as_pc_patch_sccp, as_pc_patch_sccp_cmd, + "point-code override patch-sccp (disabled|both)", + "Point Code Specific Features\n" + "Override (force) a point-code to hard-coded value\n" + "Patch point code values into SCCP called/calling address\n" + "Don't patch any point codes into SCCP called/calling address\n" + "Patch both origin and destination point codes into SCCP called/calling address\n") +{ + struct osmo_ss7_as *as = vty->index; + + if (as->cfg.proto != OSMO_SS7_ASP_PROT_IPA) { + vty_out(vty, "Only IPA type AS support point-code patch-into-sccp. " + "Be happy that you don't need it!%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (!strcmp(argv[0], "disabled")) + as->cfg.pc_override.sccp_mode = OSMO_SS7_PATCH_NONE; + else + as->cfg.pc_override.sccp_mode = OSMO_SS7_PATCH_BOTH; + + return CMD_SUCCESS; +} + static void write_one_as(struct vty *vty, struct osmo_ss7_as *as) { struct osmo_ss7_routing_key *rkey; @@ -973,6 +997,9 @@ if (as->cfg.pc_override.dpc) vty_out(vty, " point-code override dpc %s%s", osmo_ss7_pointcode_print(as->inst, as->cfg.pc_override.dpc), VTY_NEWLINE); + + if (as->cfg.pc_override.sccp_mode) + vty_out(vty, " point-code override patch-sccp both%s", VTY_NEWLINE); } DEFUN(show_cs7_as, show_cs7_as_cmd, @@ -1807,6 +1834,7 @@ install_element(L_CS7_AS_NODE, &as_rout_key_ssn_cmd); install_element(L_CS7_AS_NODE, &as_rout_key_si_ssn_cmd); install_element(L_CS7_AS_NODE, &as_pc_override_cmd); + install_element(L_CS7_AS_NODE, &as_pc_patch_sccp_cmd); vty_init_addr(); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15814 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I535e2170adadfe755d2bcbf5bbf4556bebb77737 Gerrit-Change-Number: 15814 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 Oct 19 20:50:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 19 Oct 2019 20:50:05 +0000 Subject: Change in libosmo-sccp[master]: ipa: VTY config option to explicitly enable/disable SCCP patching 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-sccp/+/15814 to look at the new patch set (#2). Change subject: ipa: VTY config option to explicitly enable/disable SCCP patching ...................................................................... ipa: VTY config option to explicitly enable/disable SCCP patching When receiving SCCP messages from an IPA peer/ASP, osmo-stp so far unconditionally inserted origin/destination point codes int the SCCP called / calling party addresses. This behaviro is now made optional with the introduction of the following per-AS configuration: "point-code override patch-sccp (disabled|both)" The default behavior is switched from 'both' to 'disabled' at the same time. Change-Id: I535e2170adadfe755d2bcbf5bbf4556bebb77737 Closes: OS#4219 --- M include/osmocom/sigtran/osmo_ss7.h M src/ipa.c M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 4 files changed, 41 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/14/15814/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15814 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I535e2170adadfe755d2bcbf5bbf4556bebb77737 Gerrit-Change-Number: 15814 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Sun Oct 20 06:53:30 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 20 Oct 2019 06:53:30 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#542?= In-Reply-To: <1627078071.287.1571468001845.JavaMail.jenkins@jenkins.osmocom.org> References: <1627078071.287.1571468001845.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1424701236.335.1571554410609.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.18 KB...] 320 0 0 320 140 obj/owhw/dfu_board_lowlevel.o 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sun Oct 20 09:43:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 09:43:48 +0000 Subject: Change in libosmo-sccp[master]: ipa: VTY config option to explicitly enable/disable SCCP patching In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15814 ) Change subject: ipa: VTY config option to explicitly enable/disable SCCP patching ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15814 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I535e2170adadfe755d2bcbf5bbf4556bebb77737 Gerrit-Change-Number: 15814 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 09:43: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 Sun Oct 20 09:43:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 09:43:51 +0000 Subject: Change in libosmo-sccp[master]: ipa: Fix crash when parsing of received IPA SCCP message fails In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 ) Change subject: ipa: Fix crash when parsing of received IPA SCCP message fails ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Gerrit-Change-Number: 15813 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 09:43: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 Sun Oct 20 09:43:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 09:43:52 +0000 Subject: Change in libosmo-sccp[master]: ipa: Fix crash when parsing of received IPA SCCP message fails In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 ) Change subject: ipa: Fix crash when parsing of received IPA SCCP message fails ...................................................................... ipa: Fix crash when parsing of received IPA SCCP message fails If an IPA ASP is sending us a SCCP message that cannot be parsed, we shouldn't crash but handle this gracefully. Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Fixes: OS#4236 --- M src/ipa.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/ipa.c b/src/ipa.c index d013916..eeefbe8 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -204,6 +204,8 @@ /* re-encode SUA to SCCP and return */ sccp_msg_out = osmo_sua_to_sccp(sua); + if (!sccp_msg_out) + LOGPASP(asp, DLSS7, LOGL_ERROR, "Couldn't re-encode SUA to SCCP\n"); xua_msg_free(sua); return sccp_msg_out; } @@ -259,6 +261,10 @@ /* Second, patch this into the SCCP message */ msg = patch_sccp_with_pc(asp, msg, opc, dpc); + if (!msg) { + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to patch PC into SCCP message; dropping\n"); + return -1; + } /* Third, create a MTP3/M3UA label with those point codes */ memset(&data_hdr, 0, sizeof(data_hdr)); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib7a8c2a36dd1b82ca8ed472760c1682ede50cb90 Gerrit-Change-Number: 15813 Gerrit-PatchSet: 3 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 Oct 20 09:43:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 09:43:53 +0000 Subject: Change in libosmo-sccp[master]: ipa: VTY config option to explicitly enable/disable SCCP patching In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15814 ) Change subject: ipa: VTY config option to explicitly enable/disable SCCP patching ...................................................................... ipa: VTY config option to explicitly enable/disable SCCP patching When receiving SCCP messages from an IPA peer/ASP, osmo-stp so far unconditionally inserted origin/destination point codes int the SCCP called / calling party addresses. This behaviro is now made optional with the introduction of the following per-AS configuration: "point-code override patch-sccp (disabled|both)" The default behavior is switched from 'both' to 'disabled' at the same time. Change-Id: I535e2170adadfe755d2bcbf5bbf4556bebb77737 Closes: OS#4219 --- M include/osmocom/sigtran/osmo_ss7.h M src/ipa.c M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 4 files changed, 41 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 14e2b7c..d6ae1d4 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -290,6 +290,11 @@ int osmo_ss7_asp_protocol_port(enum osmo_ss7_asp_protocol prot); +enum osmo_ss7_as_patch_sccp_mode { + OSMO_SS7_PATCH_NONE, /* no patching of SCCP */ + OSMO_SS7_PATCH_BOTH, /* patch both OPC and DPC into SCCP addresses */ +}; + struct osmo_ss7_as { /*! entry in 'ref osmo_ss7_instance.as_list */ struct llist_head list; @@ -314,6 +319,7 @@ uint8_t qos_class; struct { uint32_t dpc; + enum osmo_ss7_as_patch_sccp_mode sccp_mode; } pc_override; struct osmo_ss7_asp *asps[16]; diff --git a/src/ipa.c b/src/ipa.c index eeefbe8..d7a929d 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -260,10 +260,12 @@ } /* Second, patch this into the SCCP message */ - msg = patch_sccp_with_pc(asp, msg, opc, dpc); - if (!msg) { - LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to patch PC into SCCP message; dropping\n"); - return -1; + if (as->cfg.pc_override.sccp_mode == OSMO_SS7_PATCH_BOTH) { + msg = patch_sccp_with_pc(asp, msg, opc, dpc); + if (!msg) { + LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to patch PC into SCCP message; dropping\n"); + return -1; + } } /* Third, create a MTP3/M3UA label with those point codes */ diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index cc53b05..35ee5cd 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -932,6 +932,30 @@ return CMD_SUCCESS; } +DEFUN(as_pc_patch_sccp, as_pc_patch_sccp_cmd, + "point-code override patch-sccp (disabled|both)", + "Point Code Specific Features\n" + "Override (force) a point-code to hard-coded value\n" + "Patch point code values into SCCP called/calling address\n" + "Don't patch any point codes into SCCP called/calling address\n" + "Patch both origin and destination point codes into SCCP called/calling address\n") +{ + struct osmo_ss7_as *as = vty->index; + + if (as->cfg.proto != OSMO_SS7_ASP_PROT_IPA) { + vty_out(vty, "Only IPA type AS support point-code patch-into-sccp. " + "Be happy that you don't need it!%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (!strcmp(argv[0], "disabled")) + as->cfg.pc_override.sccp_mode = OSMO_SS7_PATCH_NONE; + else + as->cfg.pc_override.sccp_mode = OSMO_SS7_PATCH_BOTH; + + return CMD_SUCCESS; +} + static void write_one_as(struct vty *vty, struct osmo_ss7_as *as) { struct osmo_ss7_routing_key *rkey; @@ -973,6 +997,9 @@ if (as->cfg.pc_override.dpc) vty_out(vty, " point-code override dpc %s%s", osmo_ss7_pointcode_print(as->inst, as->cfg.pc_override.dpc), VTY_NEWLINE); + + if (as->cfg.pc_override.sccp_mode) + vty_out(vty, " point-code override patch-sccp both%s", VTY_NEWLINE); } DEFUN(show_cs7_as, show_cs7_as_cmd, @@ -1807,6 +1834,7 @@ install_element(L_CS7_AS_NODE, &as_rout_key_ssn_cmd); install_element(L_CS7_AS_NODE, &as_rout_key_si_ssn_cmd); install_element(L_CS7_AS_NODE, &as_pc_override_cmd); + install_element(L_CS7_AS_NODE, &as_pc_patch_sccp_cmd); vty_init_addr(); } diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index cb8dc85..1aa954a 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -250,6 +250,7 @@ routing-key RCONTEXT DPC ssn SSN routing-key RCONTEXT DPC si (aal2|bicc|b-isup|h248|isup|sat-isup|sccp|tup) ssn SSN point-code override dpc PC + point-code override patch-sccp (disabled|both) ss7_asp_vty_test(config-cs7-as)# ? ... -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15814 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I535e2170adadfe755d2bcbf5bbf4556bebb77737 Gerrit-Change-Number: 15814 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 Oct 20 16:41:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:41:04 +0000 Subject: Change in libosmo-sccp[master]: ss7: Only override traffic mode from recv REG REQ if not set by VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 ) Change subject: ss7: Only override traffic mode from recv REG REQ if not set by VTY ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 Gerrit-Change-Number: 15804 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 16:41: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 Oct 20 16:41:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:41:08 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set configured AS traffic mode when sending Routing Key Register... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 ) Change subject: ss7: Set configured AS traffic mode when sending Routing Key Register msg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5d24772f07e77cc3ba6edfa819bb9bc0266a1064 Gerrit-Change-Number: 15803 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 16: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 Sun Oct 20 16:41:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:41:38 +0000 Subject: Change in libosmo-sccp[master]: ss7: Implement AS traffic mode loadshare using round robin ASP selection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 ) Change subject: ss7: Implement AS traffic mode loadshare using round robin ASP selection ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 Gerrit-Change-Number: 15802 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 16: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 Sun Oct 20 16:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:43:03 +0000 Subject: Change in libosmo-sccp[master]: vty: Print traffic mode during show cs7 instance as In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 ) Change subject: vty: Print traffic mode during show cs7 instance as ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/15801/2/tests/vty/ss7_asp_test.vty File tests/vty/ss7_asp_test.vty: https://gerrit.osmocom.org/c/libosmo-sccp/+/15801/2/tests/vty/ss7_asp_test.vty at 269 PS2, Line 269: Traffic : AS Name State Context Dpc Si Opc Ssn Min Max Mode : ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- : my-ass AS_DOWN 0 0.0.0 loadshare why is loadshare the default now? I would expect the old (override) to be the default unless explicitly configured? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ief6b03f50751b8d8f4021e94d54f079681b64d51 Gerrit-Change-Number: 15801 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 16:43:03 +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 Oct 20 16:43:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:43:14 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: ss7: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 ) Change subject: cosmetic: ss7: Fix trailing whitespace ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b Gerrit-Change-Number: 15800 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 16: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 Sun Oct 20 16:43:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:43:41 +0000 Subject: Change in libosmo-sccp[master]: tests: Introduce test for multi-homing STP features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 ) Change subject: tests: Introduce test for multi-homing STP features ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 Gerrit-Change-Number: 15797 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 16:43: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 Sun Oct 20 16:52:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:52:53 +0000 Subject: Change in libosmo-sccp[master]: Don't permit routing-context != 0 for IPA peers References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 ) Change subject: Don't permit routing-context != 0 for IPA peers ...................................................................... Don't permit routing-context != 0 for IPA peers The IPA protocol doesn't have the context of routing-keys. We are only permitting routing key '0' (as the default routing key) when configuring via VTY. Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Fixes: OS#4234 --- M src/osmo_ss7_vty.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/15/15815/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 35ee5cd..ec387a9 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -864,6 +864,12 @@ struct osmo_ss7_routing_key *rkey = &as->cfg.routing_key; int pc; + if (as->cfg.proto == OSMO_SS7_ASP_PROT_IPA && atoi(rcontext) != 0) { + vty_out(vty, "IPA doesn't suppor routing contexts; only permitted routing context " + "is 0\n"); + return CMD_WARNING; + } + pc = osmo_ss7_pointcode_parse(as->inst, dpc); if (pc < 0) { vty_out(vty, "Invalid point code (%s)%s", dpc, VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Gerrit-Change-Number: 15815 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 Oct 20 16:57:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 16:57:32 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Document why IPA uses hard-coded routing-context 0 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 ) Change subject: cosmetic: Document why IPA uses hard-coded routing-context 0 ...................................................................... cosmetic: Document why IPA uses hard-coded routing-context 0 Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a --- M src/xua_asp_fsm.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/16/15816/1 diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 9dc9a82..c5bd116 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -848,6 +848,7 @@ struct ipa_asp_fsm_priv *iafp = fi->priv; struct osmo_ss7_asp *asp = iafp->asp; struct osmo_ss7_instance *inst = asp->inst; + /* We use routing-context '0' here, as that's the only one we support in IPA */ struct osmo_ss7_as *as = osmo_ss7_as_find_by_rctx(inst, 0); OSMO_ASSERT(as); @@ -920,6 +921,7 @@ { struct osmo_ss7_asp *asp = iafp->asp; struct osmo_ss7_instance *inst = asp->inst; + /* We use routing-context '0' here, as that's the only one we support in IPA */ struct osmo_ss7_as *as = osmo_ss7_as_find_by_rctx(inst, 0); struct osmo_ss7_route *rt; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a Gerrit-Change-Number: 15816 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 Oct 20 17:00:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 17:00:02 +0000 Subject: Change in libosmo-sccp[master]: Don't permit routing-context != 0 for IPA peers 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-sccp/+/15815 to look at the new patch set (#2). Change subject: Don't permit routing-context != 0 for IPA peers ...................................................................... Don't permit routing-context != 0 for IPA peers The IPA protocol doesn't have the context of routing-keys. We are only permitting routing key '0' (as the default routing key) when configuring via VTY. Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Fixes: OS#4234, OS#4233 --- M src/osmo_ss7_vty.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/15/15815/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Gerrit-Change-Number: 15815 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 Sun Oct 20 17:00:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 17:00:02 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Document why IPA uses hard-coded routing-context 0 In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 ) Change subject: cosmetic: Document why IPA uses hard-coded routing-context 0 ...................................................................... cosmetic: Document why IPA uses hard-coded routing-context 0 Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a --- M src/xua_asp_fsm.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/16/15816/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a Gerrit-Change-Number: 15816 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 Sun Oct 20 17:03:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 20 Oct 2019 17:03:15 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Document why IPA uses hard-coded routing-context 0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 ) Change subject: cosmetic: Document why IPA uses hard-coded routing-context 0 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a Gerrit-Change-Number: 15816 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 20 Oct 2019 17:03: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 Oct 20 17:52:37 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 20 Oct 2019 17:52:37 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Patch Set 3: Hi Alexander, > Could you explain why the result is no correct? because in the current code we merely pass measurements of the last burst to L1SAP, see: https://git.osmocom.org/osmo-bts/tree/src/osmo-bts-trx/scheduler_trx.c#n1228 https://git.osmocom.org/osmo-bts/tree/src/osmo-bts-trx/scheduler_trx.c#n1256 https://git.osmocom.org/osmo-bts/tree/src/osmo-bts-trx/scheduler_trx.c#n1439 https://git.osmocom.org/osmo-bts/tree/src/osmo-bts-trx/scheduler_trx.c#n1468 > If that's because of each burst affecting two frames [...] Exactly! A TCH/F or FACCH/F frame is interleaved over 8 consecutive bursts (228 even numbered bits of the first 4 bursts and 228 odd numbered bits of the last 4 bursts), a TCH/H (speech) frame is interleaved over 4 consecutive bursts (114 even numbered bits of the first 2 bursts and 114 odd numbered bits of the last 2 bursts), and a FACCH/H frame is interleaved over 6 consecutive bursts (114 even numbered bits of the first 2 bursts, all bits of the middle 2 bursts, and 114 odd numbered bits of the last 2 bursts). > why not just have an avg counter per frame and add values to them accordingly? Because a) we allocate a frame (actually, a L1SAP primitive) _after_ decoding of bursts, not before; b) before decoding, we don't know whether this is a FACCH or a TCH frame. > If there is something I missed why the above can't be done and we do need to store values [...] Averaging on the fly _could_ be implemented for TCH/F and FACCH/F by having two separate measurement buffers, but definitely not for TCH/H and FACCH/H because they have different interleaving periods. > why not use an array? We know that we need 8 values max, so why not allocate an array of 8 elements to avoid linked list operations? We basically need a LIFO stack, so we push new measurements on top of it and remove old ones from the tail every time we decode a new frame. It should be possible to implement this using an array, so doing a lookup (i.e. just referencing by index) will be much faster, but then pushing a new set of measurements will be slower as we would need to shift the existing measurements right (copy arr[i] to arr[i + 1]) every time we receive a burst. Given that we're pushing new measurements much more often than we average them, I would not go for that. Alternatively, we could use a FIFO stack and always push to the end. Then we still would need to shift the measurements left (by copying arr[i] to arr[i - 1]) as soon as we decode a new frame. So I still think that traversing through a linked list is not that bad. And having the measurement history in general gives us a bonus: we can easily lookup TDMA frame number of the first burst instead of using ugly formulas or the block mapping tables from 3GPP 45.002. Also, I've got a few optimization ideas: 1) we can combine averaging and squashing into a single function, so that would be done in a single iteration; 2) TDMA frame number lookup can also be combined into the averaging function; 3) we can use a talloc pool, so malloc() will not be a problem anymore. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 20 Oct 2019 17:52:37 +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 Mon Oct 21 06:53:30 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 21 Oct 2019 06:53:30 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#543?= In-Reply-To: <1424701236.335.1571554410609.JavaMail.jenkins@jenkins.osmocom.org> References: <1424701236.335.1571554410609.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1270161181.364.1571640810166.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.29 KB...] 320 0 0 320 140 obj/owhw/dfu_board_lowlevel.o 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Mon Oct 21 08:21:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:21:51 +0000 Subject: Change in libosmo-sccp[master]: Don't permit routing-context != 0 for IPA peers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 ) Change subject: Don't permit routing-context != 0 for IPA peers ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Gerrit-Change-Number: 15815 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 08:21: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 Oct 21 08:22:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:22:25 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Document why IPA uses hard-coded routing-context 0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 ) Change subject: cosmetic: Document why IPA uses hard-coded routing-context 0 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a Gerrit-Change-Number: 15816 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 08:22: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 Oct 21 08:31:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:31:31 +0000 Subject: Change in osmo-sgsn[master]: sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*() In-Reply-To: References: Message-ID: pespin has submitted this change. ( 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(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified 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 c45431a..c20c8dc 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -753,28 +753,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; @@ -825,10 +803,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: 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 Oct 21 08:36:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:36:48 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15806 ) Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 21 Oct 2019 08: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 Mon Oct 21 08:38:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:38:53 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15805/2/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/15805/2/src/common/vty.c at 1606 PS2, Line 1606: int8_t sapi = get_string_value(l1sap_common_sapi_names, argv[0]); I'd rather let sapi be an int, it's not entirely clear to me how the cast from int to int8_t is being done here... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 21 Oct 2019 08:38: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 Mon Oct 21 08:41:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:41:04 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 08:41: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 Oct 21 08:41:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:41:07 +0000 Subject: Change in osmo-trx[master]: vty: Simplify filler burst settings and improve help and readability. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15793 ) Change subject: vty: Simplify filler burst settings and improve help and readability. ...................................................................... vty: Simplify filler burst settings and improve help and readability. In the command line options time, filler table/filer burts settings were a bit difficult to undertand because the number of one-letter settings was limited. Now, with VTY configuration, there is no reason to keep it so difficult. Also, after the previous commit it was no longer posible to enable random 8-PSK filler bursts. With this patch you can configure all supported filler bursts in a simple and logical way. Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 --- M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/osmo-trx.cpp 3 files changed, 81 insertions(+), 75 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 2c7ecc2..02d6572 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -48,15 +48,25 @@ { 0, NULL } }; -static const struct value_string filler_names[] = { - { FILLER_DUMMY, "Dummy bursts" }, - { FILLER_ZERO, "Disabled" }, - { FILLER_NORM_RAND, "Normal bursts with random payload" }, - { FILLER_EDGE_RAND, "EDGE bursts with random payload" }, - { FILLER_ACCESS_RAND, "Access bursts with random payload" }, +const struct value_string filler_names[] = { + { FILLER_DUMMY, "Dummy bursts (C0 only)" }, + { FILLER_ZERO, "Empty bursts" }, + { FILLER_NORM_RAND, "GMSK Normal Bursts with random payload" }, + { FILLER_EDGE_RAND, "8-PSK Normal Bursts with random payload" }, + { FILLER_ACCESS_RAND, "Access Bursts with random payload" }, { 0, NULL } }; +static const struct value_string filler_types[] = { + { FILLER_DUMMY, "dummy" }, + { FILLER_ZERO, "zero" }, + { FILLER_NORM_RAND, "random-nb-gmsk" }, + { FILLER_EDGE_RAND, "random-nb-8psk" }, + { FILLER_ACCESS_RAND, "random-ab" }, + { 0, NULL } +}; + + struct trx_ctx *trx_from_vty(struct vty *v) { /* It can't hurt to force callers to continue to pass the vty instance @@ -172,53 +182,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_test_rtsc, cfg_test_rtsc_cmd, - "test rtsc <0-7>", - "Set the Random Normal Burst test mode with TSC\n" - "TSC\n") -{ - struct trx_ctx *trx = trx_from_vty(vty); - - if (trx->cfg.rach_delay_set) { - vty_out(vty, "rach-delay and rtsc options are mutual-exclusive%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - trx->cfg.rtsc_set = true; - trx->cfg.rtsc = atoi(argv[0]); - if (!trx->cfg.egprs) /* Don't override egprs which sets different filler */ - trx->cfg.filler = FILLER_NORM_RAND; - - return CMD_SUCCESS; -} - -DEFUN(cfg_test_rach_delay, cfg_test_rach_delay_cmd, - "test rach-delay <0-68>", - "Set the Random Access Burst test mode with delay\n" - "RACH delay\n") -{ - struct trx_ctx *trx = trx_from_vty(vty); - - if (trx->cfg.rtsc_set) { - vty_out(vty, "rach-delay and rtsc options are mutual-exclusive%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - if (trx->cfg.egprs) { - vty_out(vty, "rach-delay and egprs options are mutual-exclusive%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - trx->cfg.rach_delay_set = true; - trx->cfg.rach_delay = atoi(argv[0]); - trx->cfg.filler = FILLER_ACCESS_RAND; - - return CMD_SUCCESS; -} - DEFUN(cfg_clock_ref, cfg_clock_ref_cmd, "clock-ref (internal|external|gpsdo)", "Set the Reference Clock\n" @@ -351,14 +314,57 @@ return CMD_SUCCESS; } -DEFUN(cfg_filler, cfg_filler_cmd, - "filler dummy", - "Enable C0 filler table\n" - "Dummy method\n") +DEFUN(cfg_filler, cfg_filler_type_cmd, + "filler type (zero|dummy|random-nb-gmsk|random-nb-8psk|random-ab)", + "Filler burst settings\n" + "Filler burst type (default=zero)\n" + "Send an empty burst when there is nothing to send (default)\n" + "Send a dummy burst when there is nothing to send on C0 (TRX0) and empty burst on other channels." + " Use for OpenBTS compatibility only, don't use with OsmoBTS as it breaks encryption.\n" + "Send a GMSK modulated Normal Burst with random bits when there is nothing to send." + " Use for spectrum mask testing. Configure 'filler tsc' to set training sequence.\n" + "Send an 8-PSK modulated Normal Burst with random bits when there is nothing to send." + " Use for spectrum mask testing. Configure 'filler tsc' to set training sequence.\n" + "Send an Access Burst with random bits when there is nothing to send. Use for Rx/Tx alignment." + " Configure 'filler access-burst-delay' to introduce artificial delay.\n" +) +{ + struct trx_ctx *trx = trx_from_vty(vty); + // trx->cfg.filler is unsigned, so we need an interim int var to detect errors + int type = get_string_value(filler_types, argv[0]); + + if (type < 0) { + trx->cfg.filler = FILLER_ZERO; + return CMD_WARNING; + } + trx->cfg.filler = type; + + return CMD_SUCCESS; +} + +DEFUN(cfg_test_rtsc, cfg_filler_tsc_cmd, + "filler tsc <0-7>", + "Filler burst settings\n" + "Set the TSC for GMSK/8-PSK Normal Burst random fillers. Used only with 'random-nb-gmsk' and" + " 'random-nb-8psk' filler types. (default=0)\n" + "TSC\n") { struct trx_ctx *trx = trx_from_vty(vty); - trx->cfg.filler = FILLER_DUMMY; + trx->cfg.rtsc = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN(cfg_test_rach_delay, cfg_filler_rach_delay_cmd, + "filler access-burst-delay <0-68>", + "Filler burst settings\n" + "Set the delay for Access Burst random fillers. Used only with 'random-ab' filler type. (default=0)\n" + "RACH delay in symbols\n") +{ + struct trx_ctx *trx = trx_from_vty(vty); + + trx->cfg.rach_delay = atoi(argv[0]); return CMD_SUCCESS; } @@ -546,10 +552,6 @@ vty_out(vty, " tx-sps %u%s", trx->cfg.tx_sps, VTY_NEWLINE); if (trx->cfg.rx_sps != DEFAULT_RX_SPS) vty_out(vty, " rx-sps %u%s", trx->cfg.rx_sps, VTY_NEWLINE); - if (trx->cfg.rtsc_set) - vty_out(vty, " test rtsc %u%s", trx->cfg.rtsc, VTY_NEWLINE); - if (trx->cfg.rach_delay_set) - vty_out(vty, " test rach-delay %u%s", trx->cfg.rach_delay, VTY_NEWLINE); if (trx->cfg.clock_ref != REF_INTERNAL) vty_out(vty, " clock-ref %s%s", get_value_string(clock_ref_names, trx->cfg.clock_ref), VTY_NEWLINE); vty_out(vty, " multi-arfcn %s%s", trx->cfg.multi_arfcn ? "enable" : "disable", VTY_NEWLINE); @@ -562,6 +564,12 @@ vty_out(vty, " ext-rach %s%s", trx->cfg.ext_rach ? "enable" : "disable", VTY_NEWLINE); if (trx->cfg.sched_rr != 0) vty_out(vty, " rt-prio %u%s", trx->cfg.sched_rr, VTY_NEWLINE); + if (trx->cfg.filler != FILLER_ZERO) + vty_out(vty, " filler type %s%s", get_value_string(filler_types, trx->cfg.filler), VTY_NEWLINE); + if (trx->cfg.rtsc > 0) + vty_out(vty, " filler tsc %u%s", trx->cfg.rtsc, VTY_NEWLINE); + if (trx->cfg.rach_delay > 0) + vty_out(vty, " filler access-burst-delay %u%s", trx->cfg.rach_delay, VTY_NEWLINE); if (trx->cfg.stack_size != 0) vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); @@ -589,11 +597,9 @@ vty_out(vty, " Device args: %s%s", trx->cfg.dev_args, VTY_NEWLINE); vty_out(vty, " Tx Samples-per-Symbol: %u%s", trx->cfg.tx_sps, VTY_NEWLINE); vty_out(vty, " Rx Samples-per-Symbol: %u%s", trx->cfg.rx_sps, VTY_NEWLINE); - vty_out(vty, " Test Mode: TSC: %u (%s)%s", trx->cfg.rtsc, - trx->cfg.rtsc_set ? "Enabled" : "Disabled", VTY_NEWLINE); - vty_out(vty, " Test Mode: RACH Delay: %u (%s)%s", trx->cfg.rach_delay, - trx->cfg.rach_delay_set ? "Enabled" : "Disabled", VTY_NEWLINE); - vty_out(vty, " C0 Filler Table: %s%s", get_value_string(filler_names, trx->cfg.filler), VTY_NEWLINE); + vty_out(vty, " Filler Burst Type: %s%s", get_value_string(filler_names, trx->cfg.filler), VTY_NEWLINE); + vty_out(vty, " Filler Burst TSC: %u%s", trx->cfg.rtsc, VTY_NEWLINE); + vty_out(vty, " Filler Burst RACH Delay: %u%s", trx->cfg.rach_delay, VTY_NEWLINE); vty_out(vty, " Clock Reference: %s%s", get_value_string(clock_ref_names, trx->cfg.clock_ref), VTY_NEWLINE); vty_out(vty, " Multi-Carrier: %s%s", trx->cfg.multi_arfcn ? "Enabled" : "Disabled", VTY_NEWLINE); vty_out(vty, " Tuning offset: %f%s", trx->cfg.offset, VTY_NEWLINE); @@ -662,6 +668,7 @@ static const char trx_copyright[] = "Copyright (C) 2007-2014 Free Software Foundation, Inc.\r\n" "Copyright (C) 2013 Thomas Tsou \r\n" + "Copyright (C) 2013-2019 Fairwaves, Inc.\r\n" "Copyright (C) 2015 Ettus Research LLC\r\n" "Copyright (C) 2017-2018 by sysmocom s.f.m.c. GmbH \r\n" "License AGPLv3+: GNU AGPL version 3 or later \r\n" @@ -704,8 +711,6 @@ install_element(TRX_NODE, &cfg_dev_args_cmd); install_element(TRX_NODE, &cfg_tx_sps_cmd); install_element(TRX_NODE, &cfg_rx_sps_cmd); - install_element(TRX_NODE, &cfg_test_rtsc_cmd); - install_element(TRX_NODE, &cfg_test_rach_delay_cmd); install_element(TRX_NODE, &cfg_clock_ref_cmd); install_element(TRX_NODE, &cfg_multi_arfcn_cmd); install_element(TRX_NODE, &cfg_offset_cmd); @@ -714,7 +719,9 @@ install_element(TRX_NODE, &cfg_egprs_cmd); install_element(TRX_NODE, &cfg_ext_rach_cmd); install_element(TRX_NODE, &cfg_rt_prio_cmd); - install_element(TRX_NODE, &cfg_filler_cmd); + install_element(TRX_NODE, &cfg_filler_type_cmd); + install_element(TRX_NODE, &cfg_filler_tsc_cmd); + install_element(TRX_NODE, &cfg_filler_rach_delay_cmd); install_element(TRX_NODE, &cfg_ctr_error_threshold_cmd); install_element(TRX_NODE, &cfg_no_ctr_error_threshold_cmd); install_element(TRX_NODE, &cfg_stack_size_cmd); diff --git a/CommonLibs/trx_vty.h b/CommonLibs/trx_vty.h index d939051..d20dd96 100644 --- a/CommonLibs/trx_vty.h +++ b/CommonLibs/trx_vty.h @@ -5,6 +5,7 @@ #include "config_defs.h" extern struct vty_app_info g_vty_info; +extern const struct value_string filler_names[]; /* Maximum number of physical RF channels */ #define TRX_CHAN_MAX 8 @@ -51,9 +52,7 @@ unsigned int tx_sps; unsigned int rx_sps; unsigned int rtsc; - bool rtsc_set; unsigned int rach_delay; - bool rach_delay_set; enum ReferenceType clock_ref; enum FillerType filler; bool multi_arfcn; diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 6b83988..2346488 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -334,14 +334,12 @@ break; case 'r': print_deprecated(option); - trx->cfg.rtsc_set = true; trx->cfg.rtsc = atoi(optarg); if (!trx->cfg.egprs) /* Don't override egprs which sets different filler */ trx->cfg.filler = FILLER_NORM_RAND; break; case 'A': print_deprecated(option); - trx->cfg.rach_delay_set = true; trx->cfg.rach_delay = atoi(optarg); trx->cfg.filler = FILLER_ACCESS_RAND; break; @@ -459,7 +457,9 @@ ost << " EDGE support............ " << trx->cfg.egprs << std::endl; ost << " Extended RACH support... " << trx->cfg.ext_rach << std::endl; ost << " Reference............... " << trx->cfg.clock_ref << std::endl; - ost << " C0 Filler Table......... " << trx->cfg.filler << std::endl; + ost << " Filler Burst Type....... " << get_value_string(filler_names, trx->cfg.filler) << std::endl; + ost << " Filler Burst TSC........ " << trx->cfg.rtsc << std::endl; + ost << " Filler Burst RACH Delay. " << trx->cfg.rach_delay << std::endl; ost << " Multi-Carrier........... " << trx->cfg.multi_arfcn << std::endl; ost << " Tuning offset........... " << trx->cfg.offset << std::endl; ost << " RSSI to dBm offset...... " << trx->cfg.rssi_offset << std::endl; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I752eb2c1162d084e8769181f2fcd6c0877663448 Gerrit-Change-Number: 15793 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 21 08:46:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:46:57 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor the first frame number calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15812 ) Change subject: osmo-bts-trx/scheduler: refactor the first frame number calculation ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15812/2/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/15812/2/src/osmo-bts-trx/scheduler_trx.c at 992 PS2, Line 992: return set->fn; /* return frame number of the last burst */ Could it be set is NULL here? (hist is empty). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae9a0135595b0c56752723669a4ed2fc91f25785 Gerrit-Change-Number: 15812 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 08:46: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 Oct 21 08:47:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 08:47:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15811 ) Change subject: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie5762a132326be3ef4e4e38cc126f05d51098a20 Gerrit-Change-Number: 15811 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 08:47: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 Mon Oct 21 09:00:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 09:00:44 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: Hello daniel, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 to look at the new patch set (#4). Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... ss7: Support multiple addresses in SCTP connections After this patch, Several "local-ip" and "remote-ip" lines are accepted under "listen" and "asp" VTY nodes, allowing to configure an SCTP connection with multiple connections, hence allowing control of SCTP multi-homing features. libosmo-sccp clients such as osmo-bsc and osmo-msc also gain support for this feature with this commit. Related: OS#3608 Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Depends: libosmo-netif.git I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/sccp_user.c M tests/vty/ss7_asp_test.vty 6 files changed, 184 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/85/15785/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Oct 21 09:00:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 09:00:44 +0000 Subject: Change in libosmo-sccp[master]: ss7: Log local and remote address set upon ASP restart In-Reply-To: References: Message-ID: Hello neels, daniel, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 to look at the new patch set (#4). Change subject: ss7: Log local and remote address set upon ASP restart ...................................................................... ss7: Log local and remote address set upon ASP restart Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 --- M src/osmo_ss7.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/86/15786/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 Gerrit-Change-Number: 15786 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Oct 21 09:00:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 09:00:46 +0000 Subject: Change in libosmo-sccp[master]: WIP: ss7: Set Traffic Mode Type in ASPAC msg if set in VTY References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15817 ) Change subject: WIP: ss7: Set Traffic Mode Type in ASPAC msg if set in VTY ...................................................................... WIP: ss7: Set Traffic Mode Type in ASPAC msg if set in VTY TODO: Make sure the new prim is used to construct the message in lower layers. Related: OS#4220 Change-Id: Icce0e672f6180ebc92ca34f538d41161d02fecb9 --- M src/xua_asp_fsm.c 1 file changed, 55 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/17/15817/1 diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 9dc9a82..166811e 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -1,6 +1,6 @@ /* SCCP M3UA / SUA ASP osmo_fsm according to RFC3868 4.3.1 */ /* (C) Copyright 2017 by Harald Welte - * + * * All Rights reserved. * * SPDX-License-Identifier: GPL-2.0+ @@ -36,7 +36,7 @@ * * translate incoming SUA/M3UA msg_class/msg_type to xua_asp_event * * propagate state transitions to XUA_AS_FSM via _onenter functiosn * * notify the Layer Management of any relevant changes - * * + * * */ /* According to RFC3868 Section 8 */ @@ -99,6 +99,38 @@ } t_ack; }; +static unsigned int xua_asp_get_rctx(struct osmo_ss7_asp *asp, uint32_t *rctxs, size_t len) +{ + size_t rctx_next = 0; + struct osmo_ss7_as *as; + + llist_for_each_entry(as, &asp->inst->as_list, list) { + if (!osmo_ss7_as_has_asp(as, asp)) + continue; + rctxs[rctx_next] = as->cfg.routing_key.context; + rctx_next++; + } + return rctx_next; +} + +/* +static int xua_asp_add_rctx(struct osmo_ss7_asp *asp, struct xua_msg *xua) +{ + uint32_t rctxs[32]; + size_t rctx_cnt = 0; + size_t i; + + rctx_cnt = xua_asp_get_rctx(asp, rctxs, ARRAY_SIZE(rctxs)); + + if (rctx_cnt == 0) + return 0; + + for (i = 0; i < rctx_cnt; i++) + rctxs[i] = htonl(rctxs[i]); + // FIXME: add 4 bytes for TAG + LEN? + return xua_msg_add_data(xua, SUA_IEI_ROUTE_CTX, rctx_cnt * sizeof(uint32_t), (uint8_t *) &rctxs[0]); +}*/ + struct osmo_xlm_prim *xua_xlm_prim_alloc(enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op) { @@ -194,8 +226,27 @@ case XUA_ASP_E_ASPTM_ASPAC: /* RFC3868 Ch. 3.6.1 */ xua->hdr = XUA_HDR(SUA_MSGC_ASPTM, SUA_ASPTM_ACTIVE); - /* Optional: Traffic Mode Type */ /* Optional: Routing Context */ + uint32_t rctxs[32]; + size_t rctx_cnt = 0; + size_t i; + struct osmo_ss7_as *as; + + rctx_cnt = xua_asp_get_rctx(asp, rctxs, ARRAY_SIZE(rctxs)); + + /* Optional: Traffic Mode */ + if (rctx_cnt) { + as = osmo_ss7_as_find_by_rctx(asp->inst, rctxs[0]); + if (as->cfg.mode_set_by_vty) + xua_msg_add_u32(xua, SUA_IEI_TRAF_MODE_TYP, as->cfg.mode); + } + /* Optional: Routing Context */ + if (rctx_cnt) { + for (i = 0; i < rctx_cnt; i++) + rctxs[i] = htonl(rctxs[i]); + // FIXME: add 4 bytes for TAG + LEN? + xua_msg_add_data(xua, SUA_IEI_ROUTE_CTX, rctx_cnt * sizeof(uint32_t), (uint8_t *) &rctxs[0]); + } /* Optional: TID Label */ /* Optional: DRN Label */ /* Optional: Info String */ @@ -205,7 +256,7 @@ xua->hdr = XUA_HDR(SUA_MSGC_ASPTM, SUA_ASPTM_ACTIVE_ACK); /* Optional: Traffic Mode Type */ /* Mandatory: Routing Context */ - //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, + //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, /* Optional: Info String */ break; case XUA_ASP_E_ASPTM_ASPIA: -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Icce0e672f6180ebc92ca34f538d41161d02fecb9 Gerrit-Change-Number: 15817 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 Oct 21 09:09:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 21 Oct 2019 09:09:37 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors 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-bts/+/15805 to look at the new patch set (#3). Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... vty.c: don't ignore get_string_value() errors Change uint8_t sapi to int, so we can properly assert on errors from get_string_value(). Fixes: CID#205066, CID#205069 Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 --- M src/common/vty.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/05/15805/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder 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 Mon Oct 21 09:10:03 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 21 Oct 2019 09:10:03 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15805/2/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/15805/2/src/common/vty.c at 1606 PS2, Line 1606: int8_t sapi = get_string_value(l1sap_common_sapi_names, argv[0]); > I'd rather let sapi be an int, it's not entirely clear to me how the cast from int to int8_t is bein [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 21 Oct 2019 09:10:03 +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 Oct 21 09:13:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 09:13:09 +0000 Subject: Change in libosmocore[master]: socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15818 ) Change subject: socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() ...................................................................... socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() Since we return error at the start of the function if proto != IPPROTO_SCTP, it makes no sense to check for proto != IPPROTO_UDP later on. Fixes: CID#205088 Change-Id: Ibba7eacaa9debb77d536d47dc85170c5ee79e479 --- M src/socket.c 1 file changed, 15 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/15818/1 diff --git a/src/socket.c b/src/socket.c index 542c76e..4752881 100644 --- a/src/socket.c +++ b/src/socket.c @@ -467,21 +467,21 @@ return sfd; } - if (proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR) { - rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, - &on, sizeof(on)); - if (rc < 0) { - multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); - LOGP(DLGLOBAL, LOGL_ERROR, - "cannot setsockopt socket:" - " %s:%u: %s\n", - strbuf, local_port, - strerror(errno)); - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return rc; - } + /* Since so far we only allow IPPROTO_SCTP in this function, + no need to check below for "proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR" */ + rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, + &on, sizeof(on)); + if (rc < 0) { + multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); + LOGP(DLGLOBAL, LOGL_ERROR, + "cannot setsockopt socket:" + " %s:%u: %s\n", + strbuf, local_port, + strerror(errno)); + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return rc; } /* Build array of addresses taking first of same family for each host. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibba7eacaa9debb77d536d47dc85170c5ee79e479 Gerrit-Change-Number: 15818 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 Oct 21 09:16:48 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Oct 2019 09:16:48 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 09:16: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 Oct 21 09:17:02 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Oct 2019 09:17:02 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15806 ) Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 09:17: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 Oct 21 09:17:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Oct 2019 09:17:54 +0000 Subject: Change in osmo-pcu[master]: Fix assertion hit upon CCCH Paging Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15799 ) Change subject: Fix assertion hit upon CCCH Paging Request ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84c5dfd4d5580e9d4c00ed21887cb51bd9abbd2e Gerrit-Change-Number: 15799 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: Mon, 21 Oct 2019 09: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 Mon Oct 21 09:28:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 09:28:47 +0000 Subject: Change in libosmo-netif[master]: stream: Fix fd param passed to close() in error conditon References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15819 ) Change subject: stream: Fix fd param passed to close() in error conditon ...................................................................... stream: Fix fd param passed to close() in error conditon Fixes: CID#205089, CID#205087 Change-Id: I65714f214b9962862cda01605c7c2c578c78d3c7 --- M src/stream.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/19/15819/1 diff --git a/src/stream.c b/src/stream.c index b7e5c3c..744a904 100644 --- a/src/stream.c +++ b/src/stream.c @@ -586,7 +586,7 @@ return 0; error_close_socket: - close(ret); + close(cli->ofd.fd); cli->ofd.fd = -1; return -EIO; } @@ -654,7 +654,7 @@ return 0; error_close_socket: - close(ret); + close(cli->ofd.fd); cli->ofd.fd = -1; return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I65714f214b9962862cda01605c7c2c578c78d3c7 Gerrit-Change-Number: 15819 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 Oct 21 09:32:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 09:32:58 +0000 Subject: Change in osmo-pcu[master]: Fix assertion hit upon CCCH Paging Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15799 ) Change subject: Fix assertion hit upon CCCH Paging Request ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84c5dfd4d5580e9d4c00ed21887cb51bd9abbd2e Gerrit-Change-Number: 15799 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: Mon, 21 Oct 2019 09:32: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 Oct 21 09:33:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 09:33:01 +0000 Subject: Change in osmo-pcu[master]: Fix assertion hit upon CCCH Paging Request In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15799 ) Change subject: Fix assertion hit upon CCCH Paging Request ...................................................................... Fix assertion hit upon CCCH Paging Request Recent commit added an assertion to check for buffer boundaries and it actually gets hit. One of the 2 code paths calling pcu_l1if_tx_pch() was passing a buffer of 23 bytes while one of maximum 22 is expected (because plen is not set in the buffer but set inside pcu_l1if_tx_pch()). So it seems before the assert, that code path was actually writing 1 byte outside the boundaries of data buffer, since bitvec_pack() uses data_len field of bitvec. Related: OS#4228 Fixes: 8dc09e73d0b361b27232526ebcd5f25cd8c7edfd Change-Id: I84c5dfd4d5580e9d4c00ed21887cb51bd9abbd2e --- M src/gprs_rlcmac.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: 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/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 4d93f8f..7a98a25 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -32,7 +32,7 @@ const char *imsi) { LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH)\n"); - bitvec *paging_request = bitvec_alloc(23, tall_pcu_ctx); + bitvec *paging_request = bitvec_alloc(22, tall_pcu_ctx); bitvec_unhex(paging_request, DUMMY_VEC); int plen = Encoding::write_paging_request(paging_request, ptmsi, ptmsi_len); pcu_l1if_tx_pch(paging_request, plen, (char *)imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84c5dfd4d5580e9d4c00ed21887cb51bd9abbd2e Gerrit-Change-Number: 15799 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 admin at opensuse.org Mon Oct 21 09:49:25 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 21 Oct 2019 09:49:25 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5dad7f2dd8b76_406e2ad09706a5f81853615@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 474s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/port_numbers.adoc [ 474s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/bsc.adoc [ 474s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/bsc.adoc [ 474s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/bts.adoc [ 474s] asciidoc: test-usermanual.adoc: line 31: reading: /usr/src/packages/BUILD/common/chapters/bts.adoc [ 474s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 474s] asciidoc: test-usermanual.adoc: line 32: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 474s] a2x: ERROR: "/usr/bin/asciidoc" --backend docbook -a "a2x-format=pdf" -f ../build/mscgen-filter.conf -f ../build/diag-filter.conf -f ../build/docinfo-releaseinfo.conf -f ../build/python2-filter.conf -a srcdir='.' -a commondir='../common' --attribute "docinfo" --attribute "revnumber=DRAFT " --attribute "revdate=unknown" --verbose --out-file "/usr/src/packages/BUILD/tests/test-usermanual.xml" "/usr/src/packages/BUILD/tests/test-usermanual.adoc" returned non-zero exit status 1 [ 474s] [ 474s] [ 474s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 474s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 474s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 474s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 474s] make[1]: *** [Makefile:362: all] Error 2 [ 474s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 474s] dh_auto_build: make -j1 returned exit code 2 [ 474s] make: *** [debian/rules:5: binary] Error 255 [ 474s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 474s] [ 474s] lamb60 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Mon Oct 21 09:49:15 UTC 2019. [ 474s] [ 474s] ### VM INTERACTION START ### [ 477s] [ 458.859733] sysrq: SysRq : Power Off [ 477s] [ 458.866224] reboot: Power down [ 477s] ### VM INTERACTION END ### [ 477s] [ 477s] lamb60 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Mon Oct 21 09:49:18 UTC 2019. [ 477s] -- 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 Oct 21 11:04:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 11:04:09 +0000 Subject: Change in libosmo-sccp[master]: tests: Introduce test for multi-homing STP features 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/libosmo-sccp/+/15797 to look at the new patch set (#3). Change subject: tests: Introduce test for multi-homing STP features ...................................................................... tests: Introduce test for multi-homing STP features Config file sets omo-stp instance to bind on 2 IP addresses, and then the test verfies through linux /proc/net/sctp/* that binding is done correctly and that it can be reached from another remote address to one of the configured addresses. Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 --- M Makefile.am M doc/examples/Makefile.am A doc/examples/osmo-stp-multihome.cfg M tests/vty/Makefile.am A tests/vty/vty_test_runner.py 5 files changed, 211 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/97/15797/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 Gerrit-Change-Number: 15797 Gerrit-PatchSet: 3 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 Oct 21 11:04:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 11:04:09 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: ss7: Fix trailing whitespace 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/libosmo-sccp/+/15800 to look at the new patch set (#4). Change subject: cosmetic: ss7: Fix trailing whitespace ...................................................................... cosmetic: ss7: Fix trailing whitespace Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b --- M src/xua_as_fsm.c M src/xua_default_lm_fsm.c M src/xua_rkm.c 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/00/15800/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b Gerrit-Change-Number: 15800 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 Oct 21 11:04:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 21 Oct 2019 11:04:09 +0000 Subject: Change in libosmo-sccp[master]: ss7: Implement AS traffic mode loadshare using round robin ASP selection 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/libosmo-sccp/+/15802 to look at the new patch set (#4). Change subject: ss7: Implement AS traffic mode loadshare using round robin ASP selection ...................................................................... ss7: Implement AS traffic mode loadshare using round robin ASP selection Related: OS#4220 Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/xua_as_fsm.c 3 files changed, 46 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/02/15802/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 Gerrit-Change-Number: 15802 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 Oct 21 11:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:17:52 +0000 Subject: Change in libosmo-sccp[master]: ss7: Log local and remote address set upon ASP restart In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 ) Change subject: ss7: Log local and remote address set upon ASP restart ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 Gerrit-Change-Number: 15786 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 11:17: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 Oct 21 11:17:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:17:56 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 ) Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 11:17: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 Mon Oct 21 11:18:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:18:06 +0000 Subject: Change in libosmo-sccp[master]: ss7: Log local and remote address set upon ASP restart In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 ) Change subject: ss7: Log local and remote address set upon ASP restart ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 Gerrit-Change-Number: 15786 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 11:18: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 Oct 21 11:18:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:18:13 +0000 Subject: Change in libosmo-sccp[master]: tests: Introduce test for multi-homing STP features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 ) Change subject: tests: Introduce test for multi-homing STP features ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 Gerrit-Change-Number: 15797 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Oct 2019 11:18: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 Oct 21 11:18:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:18:15 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: ss7: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 ) Change subject: cosmetic: ss7: Fix trailing whitespace ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b Gerrit-Change-Number: 15800 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Oct 2019 11:18: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 Oct 21 11:19:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:19:17 +0000 Subject: Change in libosmo-sccp[master]: ss7: Implement AS traffic mode loadshare using round robin ASP selection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 ) Change subject: ss7: Implement AS traffic mode loadshare using round robin ASP selection ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 Gerrit-Change-Number: 15802 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Oct 2019 11:19: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 Oct 21 11:19:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:19:26 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set configured AS traffic mode when sending Routing Key Register... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 ) Change subject: ss7: Set configured AS traffic mode when sending Routing Key Register msg ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5d24772f07e77cc3ba6edfa819bb9bc0266a1064 Gerrit-Change-Number: 15803 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Oct 2019 11:19: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 Mon Oct 21 11:20:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:20:07 +0000 Subject: Change in libosmo-netif[master]: stream: Fix fd param passed to close() in error conditon In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15819 ) Change subject: stream: Fix fd param passed to close() in error conditon ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I65714f214b9962862cda01605c7c2c578c78d3c7 Gerrit-Change-Number: 15819 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Oct 2019 11:20: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 Oct 21 11:20:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:20:08 +0000 Subject: Change in libosmo-netif[master]: stream: Fix fd param passed to close() in error conditon In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15819 ) Change subject: stream: Fix fd param passed to close() in error conditon ...................................................................... stream: Fix fd param passed to close() in error conditon Fixes: CID#205089, CID#205087 Change-Id: I65714f214b9962862cda01605c7c2c578c78d3c7 --- M src/stream.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/stream.c b/src/stream.c index b7e5c3c..744a904 100644 --- a/src/stream.c +++ b/src/stream.c @@ -586,7 +586,7 @@ return 0; error_close_socket: - close(ret); + close(cli->ofd.fd); cli->ofd.fd = -1; return -EIO; } @@ -654,7 +654,7 @@ return 0; error_close_socket: - close(ret); + close(cli->ofd.fd); cli->ofd.fd = -1; return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I65714f214b9962862cda01605c7c2c578c78d3c7 Gerrit-Change-Number: 15819 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 Mon Oct 21 11:20:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:20:34 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15806 ) Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 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: Mon, 21 Oct 2019 11:20: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 Oct 21 11:20:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:20:50 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 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: Mon, 21 Oct 2019 11:20: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 Oct 21 11:20:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:20:52 +0000 Subject: Change in osmo-bts[master]: vty.c: don't ignore get_string_value() errors In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15805 ) Change subject: vty.c: don't ignore get_string_value() errors ...................................................................... vty.c: don't ignore get_string_value() errors Change uint8_t sapi to int, so we can properly assert on errors from get_string_value(). Fixes: CID#205066, CID#205069 Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 --- M src/common/vty.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: fixeria: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/vty.c b/src/common/vty.c index 865c236..2e7a66d 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1603,11 +1603,11 @@ DEFUN(logging_fltr_l1_sapi, logging_fltr_l1_sapi_cmd, "HIDDEN", "HIDDEN") { - uint8_t sapi = get_string_value(l1sap_common_sapi_names, argv[0]); + int sapi = get_string_value(l1sap_common_sapi_names, argv[0]); struct log_target *tgt = osmo_log_vty2tgt(vty); uint16_t **sapi_mask; - OSMO_ASSERT(sapi != -EINVAL); + OSMO_ASSERT(sapi < 0); if (!tgt) return CMD_WARNING; @@ -1624,11 +1624,11 @@ DEFUN(no_logging_fltr_l1_sapi, no_logging_fltr_l1_sapi_cmd, "HIDDEN", "HIDDEN") { - uint8_t sapi = get_string_value(l1sap_common_sapi_names, argv[0]); + int sapi = get_string_value(l1sap_common_sapi_names, argv[0]); struct log_target *tgt = osmo_log_vty2tgt(vty); uint16_t *sapi_mask; - OSMO_ASSERT(sapi != -EINVAL); + OSMO_ASSERT(sapi < 0); if (!tgt) return CMD_WARNING; if (!tgt->filter_data[LOG_FLT_L1_SAPI]) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d30afacfab93051868ae8f462cee9ad3dbc7fd0 Gerrit-Change-Number: 15805 Gerrit-PatchSet: 3 Gerrit-Owner: osmith 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 Oct 21 11:20:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:20:53 +0000 Subject: Change in osmo-bts[master]: vty.c: avoid coverity BAD_SHIFT issues In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15806 ) Change subject: vty.c: avoid coverity BAD_SHIFT issues ...................................................................... vty.c: avoid coverity BAD_SHIFT issues Make it obvious for compilers and for coverity, that the sapi value used to shift a bit for the sapi_mask is always <= 31. The sapi value is an index of the value string l1sap_common_sapi_names, which has 24 entries. Fixes: CID#205067, CID#205068 Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b --- M src/common/vty.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/vty.c b/src/common/vty.c index 2e7a66d..e775d99 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1616,6 +1616,7 @@ if (!*sapi_mask) *sapi_mask = talloc(tgt, uint16_t); + OSMO_ASSERT(sapi <= 31); **sapi_mask |= (1 << sapi); tgt->filter_map |= (1 << LOG_FLT_L1_SAPI); @@ -1634,6 +1635,7 @@ if (!tgt->filter_data[LOG_FLT_L1_SAPI]) return CMD_SUCCESS; + OSMO_ASSERT(sapi <= 31); sapi_mask = (uint16_t *)tgt->filter_data[LOG_FLT_L1_SAPI]; *sapi_mask &= ~(1 << sapi); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8be0ab67479b1f76a4f624bd3a5242e4fe59f4b Gerrit-Change-Number: 15806 Gerrit-PatchSet: 3 Gerrit-Owner: osmith 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 Oct 21 11:21:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:21:10 +0000 Subject: Change in libosmocore[master]: socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15818 ) Change subject: socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibba7eacaa9debb77d536d47dc85170c5ee79e479 Gerrit-Change-Number: 15818 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Oct 2019 11:21: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 Mon Oct 21 11:21:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:21:12 +0000 Subject: Change in libosmocore[master]: socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15818 ) Change subject: socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() ...................................................................... socket: Remove unneeded condition check in osmo_sock_init2_multiaddr() Since we return error at the start of the function if proto != IPPROTO_SCTP, it makes no sense to check for proto != IPPROTO_UDP later on. Fixes: CID#205088 Change-Id: Ibba7eacaa9debb77d536d47dc85170c5ee79e479 --- M src/socket.c 1 file changed, 15 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/socket.c b/src/socket.c index 542c76e..4752881 100644 --- a/src/socket.c +++ b/src/socket.c @@ -467,21 +467,21 @@ return sfd; } - if (proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR) { - rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, - &on, sizeof(on)); - if (rc < 0) { - multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); - LOGP(DLGLOBAL, LOGL_ERROR, - "cannot setsockopt socket:" - " %s:%u: %s\n", - strbuf, local_port, - strerror(errno)); - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return rc; - } + /* Since so far we only allow IPPROTO_SCTP in this function, + no need to check below for "proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR" */ + rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, + &on, sizeof(on)); + if (rc < 0) { + multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); + LOGP(DLGLOBAL, LOGL_ERROR, + "cannot setsockopt socket:" + " %s:%u: %s\n", + strbuf, local_port, + strerror(errno)); + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(result[i]); + close(sfd); + return rc; } /* Build array of addresses taking first of same family for each host. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibba7eacaa9debb77d536d47dc85170c5ee79e479 Gerrit-Change-Number: 15818 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 Mon Oct 21 11:21:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:21:27 +0000 Subject: Change in libosmo-sccp[master]: Don't permit routing-context != 0 for IPA peers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 ) Change subject: Don't permit routing-context != 0 for IPA peers ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Gerrit-Change-Number: 15815 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 11:21: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 Oct 21 11:21:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:21:28 +0000 Subject: Change in libosmo-sccp[master]: Don't permit routing-context != 0 for IPA peers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 ) Change subject: Don't permit routing-context != 0 for IPA peers ...................................................................... Don't permit routing-context != 0 for IPA peers The IPA protocol doesn't have the context of routing-keys. We are only permitting routing key '0' (as the default routing key) when configuring via VTY. Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Fixes: OS#4234, OS#4233 --- M src/osmo_ss7_vty.c 1 file changed, 6 insertions(+), 0 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_ss7_vty.c b/src/osmo_ss7_vty.c index 35ee5cd..ec387a9 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -864,6 +864,12 @@ struct osmo_ss7_routing_key *rkey = &as->cfg.routing_key; int pc; + if (as->cfg.proto == OSMO_SS7_ASP_PROT_IPA && atoi(rcontext) != 0) { + vty_out(vty, "IPA doesn't suppor routing contexts; only permitted routing context " + "is 0\n"); + return CMD_WARNING; + } + pc = osmo_ss7_pointcode_parse(as->inst, dpc); if (pc < 0) { vty_out(vty, "Invalid point code (%s)%s", dpc, VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3f166f44903d0b93963cc5d0cca73d277d2b7215 Gerrit-Change-Number: 15815 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 Mon Oct 21 11:21:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:21:29 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Document why IPA uses hard-coded routing-context 0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 ) Change subject: cosmetic: Document why IPA uses hard-coded routing-context 0 ...................................................................... cosmetic: Document why IPA uses hard-coded routing-context 0 Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a --- M src/xua_asp_fsm.c 1 file changed, 2 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/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 9dc9a82..c5bd116 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -848,6 +848,7 @@ struct ipa_asp_fsm_priv *iafp = fi->priv; struct osmo_ss7_asp *asp = iafp->asp; struct osmo_ss7_instance *inst = asp->inst; + /* We use routing-context '0' here, as that's the only one we support in IPA */ struct osmo_ss7_as *as = osmo_ss7_as_find_by_rctx(inst, 0); OSMO_ASSERT(as); @@ -920,6 +921,7 @@ { struct osmo_ss7_asp *asp = iafp->asp; struct osmo_ss7_instance *inst = asp->inst; + /* We use routing-context '0' here, as that's the only one we support in IPA */ struct osmo_ss7_as *as = osmo_ss7_as_find_by_rctx(inst, 0); struct osmo_ss7_route *rt; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibfae10a1e9385079db4b353e48a262bc8ab5230a Gerrit-Change-Number: 15816 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 Mon Oct 21 11:21:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:21:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15811 ) Change subject: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie5762a132326be3ef4e4e38cc126f05d51098a20 Gerrit-Change-Number: 15811 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 11:21: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 Oct 21 11:21:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:21:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15811 ) Change subject: osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() ...................................................................... osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn() All other Uplink burst handlers print frame number of the last (currently received) burst. Let's make rx_data_fn() consistent. Change-Id: Ie5762a132326be3ef4e4e38cc126f05d51098a20 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 2 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/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8662a14..d63987b 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -967,7 +967,7 @@ if ((*mask & 0xf) != 0xf) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received incomplete data (%u/%u)\n", - *first_fn, (*first_fn) % l1ts->mf_period); + bi->fn % l1ts->mf_period, l1ts->mf_period); /* we require first burst to have correct FN */ if (!(*mask & 0x1)) { @@ -982,7 +982,7 @@ if (rc) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u)\n", - *first_fn, (*first_fn) % l1ts->mf_period); + bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = 0; } else l2_len = GSM_MACBLOCK_LEN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie5762a132326be3ef4e4e38cc126f05d51098a20 Gerrit-Change-Number: 15811 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 Oct 21 11:25:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:25:08 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Patch Set 3: I'm terribly sorry to be the party pooper here, but I don't like the assoicated overhead we introduce in one of the more performance critical code paths. It's not "just"t the talloc/heap allocations, but also various additional lllist related operations. We have to keep in mind that one of our primary target platforms is a good old 405 MHz ARM926 core (sysmoBTS-v2) which is already very busy with BTS+PCU. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 11:25: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 Oct 21 11:25:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:25:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 ) Change subject: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I011ffdfa63b698ce6085968d15ffb4ff4bd23ee5 Gerrit-Change-Number: 15792 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 21 Oct 2019 11:25: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 Oct 21 11:25:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 11:25:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 ) Change subject: BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U ...................................................................... BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U This test case is aimed to verify handling of both PTCCH/U and PTCCH/D logical channels, recently implemented in [1]. This is done by sending 16 Access Bursts on PTCCH/U, and then by sending a random data block on PTCCH/D. The existing TC_pcu_data_req_ptcch does not cover PTCCH/U, and moreover involves TBF handling which has nothing to do with PTCCH. Let's keep it anyway. [1] I232e5f514fbad2c51daaa59ff516004aba97c8a3 Change-Id: I011ffdfa63b698ce6085968d15ffb4ff4bd23ee5 Related: OS#4102 --- M bts/BTS_Tests.ttcn M library/GSM_Types.ttcn 2 files changed, 105 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index f2861d1..90281e3 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4143,6 +4143,7 @@ f_pcu_to_l1(0, 0, 7, PCU_IF_SAPI_PDTCH, data); //c_PCU_DATA); } +/* FIXME: PTTCH has nothing to do with TBFs */ testcase TC_pcu_data_req_ptcch() runs on test_CT { var TfiUsfArr tua := f_TfiUsfArrInit(); var octetstring data := '0000'O & f_rnd_octstring(21); @@ -4157,6 +4158,94 @@ f_pcu_to_l1(0, 0, 7, PCU_IF_SAPI_PTCCH, data); } +private function f_TC_pcu_ptcch_ul(uint16_t ra) +runs on test_CT { + var template PCUIF_Message pcu_rach_ind; + var PCUIF_send_data sd; + var GsmFrameNumber fn; + timer T; + + /* Send an Access Burst on PTCCH/U over the Um-interface */ + fn := f_L1CTL_RACH(L1CTL, ra := ra, combined := 0, offset := 0, + chan_nr := ts_RslChanNr_PDCH(7), + link_id := ts_RslLinkID_OSMO_PTCCH(0)); + + /* TODO: check time-slot and TRX number as soon as we extend the PCU interface */ + pcu_rach_ind := tr_PCUIF_RACH_IND(ra := ra, fn := fn, sapi := PCU_IF_SAPI_PTCCH); + + /* Expect a RACH.ind on the PCU interface (timeout is one multi-frame) */ + T.start(52.0 * 4.615 / 1000.0); + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, pcu_rach_ind)) -> value sd { + log("Rx an Access Burst on the PCU interface: ", sd.data); + setverdict(pass); + T.stop; + } + [] PCU.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for RACH.ind on the PCU interface"); + /* Keep going, that's not the end of the world */ + } + } +} + +testcase TC_pcu_ptcch() runs on test_CT { + var L1ctlDlMessage dl; + var octetstring data; + timer T; + + f_init_pcu_test(); + f_init_l1ctl(); + f_l1_tune(L1CTL); + + /* Activate PDCH channel on TS7 */ + f_TC_pcu_act_req(0, 0, 7, true); + + /* Tune trxcon to that PDCH channel */ + L1CTL.send(ts_L1CTL_DM_EST_REQ(arfcn := { false, mp_trx0_arfcn }, + chan_nr := valueof(ts_RslChanNr_PDCH(7)), + tsc := 7)); + + /* Verify PTCCH/U: send several access bursts, make sure they're received */ + for (var integer i := 0; i < 16; i := i + 1) { + log("Sending an Access Burst towards the L1CTL interface"); + f_TC_pcu_ptcch_ul(oct2int(f_rnd_ra_ps())); + } + + /* Generate a random payload for PTCCH/D (23 octets, CS-1) */ + data := f_rnd_octstring(23); + + /* Verify PTCCH/D: send a random data block, make sure it's received */ + log("Sending a PTCCH/D block towards the PCU interface: ", data); + f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PTCCH, data); + + /* PTCCH/D period is 2 multi-frames (2 * 52 * 4.615 ms), but + * let's give it more time in case if we miss the beginning. */ + T.start(2.0 * 2.0 * 52.0 * 4.615 / 1000.0); + alt { + /* PDCH is considered as traffic in trxcon => expect TRAFFIC.ind */ + [] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(chan_nr := t_RslChanNr_PDCH(7), + link_id := tr_RslLinkID_OSMO_PTCCH(?), + frame := data)) -> value dl { + log("Rx PTCCH/D data (traffic) block on L1CTL: ", dl); + setverdict(pass); + T.stop; + } + /* Other PHYs (e.g. virt_phy) may consider PDCH as data => expect DATA.ind */ + [] L1CTL.receive(tr_L1CTL_DATA_IND(chan_nr := t_RslChanNr_PDCH(7), + link_id := tr_RslLinkID_OSMO_PTCCH(?), + l2_data := data)) -> value dl { + log("Rx PTCCH/D data block on L1CTL: ", dl); + setverdict(pass); + T.stop; + } + [] L1CTL.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for DATA.ind on L1CTL"); + } + } +} + /* Send AGCH from PCU; check it appears on Um side */ testcase TC_pcu_data_req_agch() runs on test_CT { timer T := 3.0; @@ -6267,6 +6356,7 @@ execute( TC_pcu_deact_req_wrong_ts() ); execute( TC_pcu_ver_si13() ); if (mp_l1_supports_gprs) { + execute( TC_pcu_ptcch() ); execute( TC_pcu_data_req_pdtch() ); execute( TC_pcu_data_req_ptcch() ); execute( TC_pcu_data_req_wrong_bts() ); diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn index ec74ce5..ee6d132 100644 --- a/library/GSM_Types.ttcn +++ b/library/GSM_Types.ttcn @@ -158,7 +158,8 @@ /* TS 48.058 9.3.2 Link ID */ type enumerated RslLinkIdC { FACCH_SDCCH (0), - SACCH (1) + SACCH (1), + OSMO_PTCCH (2) /* Osmocom (trxcon) specific extension */ } with { variant "FIELDLENGTH(2)" }; type enumerated RslSapi0Prio { @@ -195,6 +196,12 @@ sapi := sapi }; + template RslLinkId tr_RslLinkID_OSMO_PTCCH(template GsmSapi sapi) modifies tr_RslLinkId := { + c := OSMO_PTCCH, + na := false, + sapi := sapi + }; + template (value) RslLinkId ts_RslLinkID_DCCH(GsmSapi sapi) := { c := FACCH_SDCCH, na := false, @@ -209,6 +216,13 @@ sapi := sapi }; + template (value) RslLinkId ts_RslLinkID_OSMO_PTCCH(GsmSapi sapi) := { + c := OSMO_PTCCH, + na := false, + prio := SAPI0_PRIO_NORMAL, + sapi := sapi + }; + function f_hex_is_odd_length(hexstring digits) return bitstring { if (lengthof(digits) rem 2 == 1) { return '1'B; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I011ffdfa63b698ce6085968d15ffb4ff4bd23ee5 Gerrit-Change-Number: 15792 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 Mon Oct 21 11:32:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Oct 2019 11:32:49 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Patch Set 3: > We have to keep in mind that one of our primary target platforms > is a good old 405 MHz ARM926 core (sysmoBTS-v2) [...] That part is specific to osmo-bts-trx only. The osmo-bts-sysmo variant works on a higher level, and does not deal with bursts. > I don't like the assoicated overhead we introduce [...] Ok, maybe somebody will come up with a better idea some day. I don't see the silver bullet of optimization as of now, so I will abandon this patch set. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 11:32: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 Mon Oct 21 11:33:00 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Oct 2019 11:33:00 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 21 11:33:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 21 Oct 2019 11:33:07 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor the first frame number calculation In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15812 ) Change subject: osmo-bts-trx/scheduler: refactor the first frame number calculation ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae9a0135595b0c56752723669a4ed2fc91f25785 Gerrit-Change-Number: 15812 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 21 12:57:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 12:57:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update 'deps' to use M3UA libraries with proper NOTIFY support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15820 ) Change subject: update 'deps' to use M3UA libraries with proper NOTIFY support ...................................................................... update 'deps' to use M3UA libraries with proper NOTIFY support Change-Id: Ifb90c815adae8e30f57c188d1f9db6d6c77d199b --- M deps/Makefile 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/15820/1 diff --git a/deps/Makefile b/deps/Makefile index ec31e59..2d8f687 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -24,7 +24,6 @@ titan.ProtocolModules.IP \ titan.ProtocolModules.JSON_v07_2006 \ titan.ProtocolModules.L2TP \ - titan.ProtocolModules.M3UA \ titan.ProtocolModules.SMPP \ titan.ProtocolModules.TCP \ titan.ProtocolModules.UDP \ @@ -64,6 +63,7 @@ titan.ProtocolModules.LLC_v7.1.0 \ titan.ProtocolModules.SGsAP_13.2.0 \ titan.TestPorts.MTP3asp \ + titan.ProtocolModules.M3UA \ titan.ProtocolEmulations.M3UA OSMOGIT_REPOS= titan.ProtocolModules.MAP \ @@ -75,7 +75,7 @@ # In order to keep local changes in the repository of a dependency, set its commit to the # name of a local branch here (e.g. 'master'). titan.Libraries.TCCUsefulFunctions_commit= R.30.A -titan.ProtocolEmulations.M3UA_commit= R.2.A-2-g742cf02 +titan.ProtocolEmulations.M3UA_commit= 06b0f71a7d13fafc6f778974f6b4379ad87511ea titan.ProtocolEmulations.SCCP_commit= R.7.A-2-g724c83f titan.ProtocolModules.BSSAPP_v7.3.0_commit= R.2.A titan.ProtocolModules.BSSGP_v13.0.0_commit= R.2.A @@ -92,7 +92,7 @@ titan.ProtocolModules.LLC_v7.1.0_commit= 2a3c09fbf7bae22f802aa88689800f38a1f3732d titan.ProtocolModules.MAP_commit= R.2.A-1-g79c6a3d titan.ProtocolModules.M2PA_commit= R.2.A -titan.ProtocolModules.M3UA_commit= R.2.A +titan.ProtocolModules.M3UA_commit= 2544b6bdc76d18313a235fbfdaf0cac04ebdd603 titan.ProtocolModules.MobileL3_v13.4.0_commit= R.2.A titan.ProtocolModules.NAS_EPS_15.2.0.1_commit= 2ba853c7d197f7f39d97b76fca4726a7143fb4ad titan.ProtocolModules.NS_v7.3.0_commit= R.2.A -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb90c815adae8e30f57c188d1f9db6d6c77d199b Gerrit-Change-Number: 15820 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 Oct 21 12:57:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 12:57:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: make IPA_Emulation work as IPA client to OsmoSTP References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15821 ) Change subject: HACK: make IPA_Emulation work as IPA client to OsmoSTP ...................................................................... HACK: make IPA_Emulation work as IPA client to OsmoSTP Change-Id: I7def6090ff95bc868cfc238d56bdb204707108a0 --- M library/IPA_Emulation.ttcnpp 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/15821/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 7b80c2d..1bd3dff 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -411,6 +411,7 @@ } case (IPAC_MSGT_ID_ACK) { f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)); + f_ccm_tx(valueof(ts_IPA_ACK)); } case (IPAC_MSGT_ID_GET) { f_ccm_tx(f_ccm_make_id_resp(ccm)); @@ -486,7 +487,7 @@ f_connect(remote_host, remote_port, local_host, local_port, ccm_pars); if (g_ccm_enabled) { /* we're a client: Send ID_ACK immediately after connect */ - f_ccm_tx(valueof(ts_IPA_ACK)); + //f_ccm_tx(valueof(ts_IPA_ACK)); } f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); ScanEvents(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7def6090ff95bc868cfc238d56bdb204707108a0 Gerrit-Change-Number: 15821 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 Oct 21 12:57:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 21 Oct 2019 12:57:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: WIP: Introduce STP_Tests*.ttcn for testing OsmoSTP References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15822 ) Change subject: WIP: Introduce STP_Tests*.ttcn for testing OsmoSTP ...................................................................... WIP: Introduce STP_Tests*.ttcn for testing OsmoSTP In the past, we were automatically running [large parts of] the nplab M3UA and SUA test suites, but those implement only a fraction of the functionality. Particularly, they don't cover the non-standard IPA behavior, and they don't cover RKM (routing key management). Let's introduce an initial set of STP tests with this patch. We try to not duplicate nplab here, and implement bits not covered there. Change-Id: I628a87385cac0dfe708a0d74a5088fbd5a4790cd --- A library/M3UA_CodecPort.ttcn A library/M3UA_CodecPort_CtrlFunct.ttcn A library/M3UA_CodecPort_CtrlFunctDef.cc A library/M3UA_Templates.ttcn M library/SCCP_Templates.ttcn A stp/STP_Tests.cfg A stp/STP_Tests.default A stp/STP_Tests.ttcn A stp/STP_Tests_Common.ttcn A stp/STP_Tests_IPA.ttcn A stp/STP_Tests_M3UA.ttcn A stp/gen_links.sh A stp/osmo-stp.cfg A stp/regen_makefile.sh 14 files changed, 2,047 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/22/15822/1 diff --git a/library/M3UA_CodecPort.ttcn b/library/M3UA_CodecPort.ttcn new file mode 100644 index 0000000..94d16d6 --- /dev/null +++ b/library/M3UA_CodecPort.ttcn @@ -0,0 +1,84 @@ +module M3UA_CodecPort { + +/* Simple M3UA Codec Port, translating between raw SCTP primitives with + * octetstring payload towards the IPL4asp provider, and M3UA primitives + * which carry the decoded M3UA 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. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + + import from IPL4asp_PortType all; + import from IPL4asp_Types all; + import from M3UA_Types all; + + type record M3UA_RecvFrom { + ConnectionId connId, + HostName remName, + PortNumber remPort, + HostName locName, + PortNumber locPort, + PDU_M3UA msg + }; + + template M3UA_RecvFrom t_M3UA_RecvFrom(template PDU_M3UA msg) := { + connId := ?, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg + } + + type record M3UA_Send { + ConnectionId connId, + integer stream, + PDU_M3UA msg + } + + template M3UA_Send t_M3UA_Send(template ConnectionId connId, template PDU_M3UA msg, + template (omit) integer stream := omit) := { + connId := connId, + stream := stream, + msg := msg + } + + private function IPL4_to_M3UA_RecvFrom(in ASP_RecvFrom pin, out M3UA_RecvFrom pout) { + pout.connId := pin.connId; + pout.remName := pin.remName; + pout.remPort := pin.remPort; + pout.locName := pin.locName; + pout.locPort := pin.locPort; + pout.msg := dec_PDU_M3UA(pin.msg); + } with { extension "prototype(fast)" }; + + private function M3UA_to_IPL4_Send(in M3UA_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { + sctp := { + sinfo_stream := pin.stream, + sinfo_ppid := 3, + remSocks := omit, + assocId := omit + } + }; + pout.msg := enc_PDU_M3UA(pin.msg); + } with { extension "prototype(fast)" }; + + type port M3UA_CODEC_PT message { + out M3UA_Send; + in M3UA_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; + } with { extension "user IPL4asp_PT + out(M3UA_Send -> ASP_Send:function(M3UA_to_IPL4_Send)) + in(ASP_RecvFrom -> M3UA_RecvFrom: function(IPL4_to_M3UA_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" + } +} diff --git a/library/M3UA_CodecPort_CtrlFunct.ttcn b/library/M3UA_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..fc38e43 --- /dev/null +++ b/library/M3UA_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,44 @@ +module M3UA_CodecPort_CtrlFunct { + + import from M3UA_CodecPort all; + import from IPL4asp_Types all; + + external function f_IPL4_listen( + inout M3UA_CODEC_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_connect( + inout M3UA_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 M3UA_CODEC_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } + ) return Result; + + external function f_IPL4_setUserData( + inout M3UA_CODEC_PT portRef, + in ConnectionId id, + in UserData userData + ) return Result; + + external function f_IPL4_getUserData( + inout M3UA_CODEC_PT portRef, + in ConnectionId id, + out UserData userData + ) return Result; + +} + diff --git a/library/M3UA_CodecPort_CtrlFunctDef.cc b/library/M3UA_CodecPort_CtrlFunctDef.cc new file mode 100644 index 0000000..62533de --- /dev/null +++ b/library/M3UA_CodecPort_CtrlFunctDef.cc @@ -0,0 +1,56 @@ +#include "IPL4asp_PortType.hh" +#include "M3UA_CodecPort.hh" +#include "IPL4asp_PT.hh" + +namespace M3UA__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + M3UA__CodecPort::M3UA__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( + M3UA__CodecPort::M3UA__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( + M3UA__CodecPort::M3UA__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( + M3UA__CodecPort::M3UA__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( + M3UA__CodecPort::M3UA__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + +} + diff --git a/library/M3UA_Templates.ttcn b/library/M3UA_Templates.ttcn new file mode 100644 index 0000000..02b493c --- /dev/null +++ b/library/M3UA_Templates.ttcn @@ -0,0 +1,771 @@ +module M3UA_Templates { + +/* M3UA Templates, building on top of M3UA_Types from Ericsson. + * + * (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 M3UA_Types all; +import from General_Types all; +import from Osmocom_Types all; + +const OCT1 c_M3UA_VERSION := '01'O; + +const OCT2 c_M3UA_ST_T_STATE_CHG := '0001'O; +const OCT2 c_M3UA_ST_I_RESERVED := '0001'O; +const OCT2 c_M3UA_ST_I_AS_INACTIVE := '0002'O; +const OCT2 c_M3UA_ST_I_AS_ACTIVE := '0003'O; +const OCT2 c_M3UA_ST_I_AS_PENDING := '0004'O; + +const OCT2 c_M3UA_ST_T_OTHER := '0002'O; +const OCT2 c_M3UA_ST_I_INSUFF_RESRC := '0001'O +const OCT2 c_M3UA_ST_I_ALTERNATE_ASP := '0002'O +const OCT2 c_M3UA_ST_I_ASP_FAILUREP := '0003'O + +private function f_aspid_or_omit(template (omit) OCT4 aspid) +return template (omit) M3UA_ASP_Identifier { + var template (omit) M3UA_ASP_Identifier id; + if (istemplatekind(aspid, "omit")) { + return omit; + } else { + id.tag := '0011'O; + id.lengthInd := 8; + id.aSPIdentifier := aspid; + return id; + } +} + +function tr_M3UA_asp_id(template OCT4 aspid) +return template M3UA_ASP_Identifier { + var template M3UA_ASP_Identifier id := { + tag := '0011'O, + lengthInd := 8, + aSPIdentifier := aspid + }; + if (istemplatekind(aspid, "omit")) { + return omit; + } else if (istemplatekind(aspid, "*")) { + return *; + } else { + return id; + } +} + + +/*********************************************************************** + * ASPSM Class + ***********************************************************************/ + +template (value) PDU_M3UA ts_M3UA_ASPUP(template (omit) OCT4 aspid := omit, + template (omit) octetstring infostr := omit) := { + m3UA_ASPUP := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0301'O, + messageLength := 0, // overwritten + messageParameters := { + aSP_Identifier := f_aspid_or_omit(aspid), + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPUP(template OCT4 aspid := *, + template octetstring infostr := omit) := { + m3UA_ASPUP := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0301'O, + messageLength := 0, // overwritten + messageParameters := { + aSP_Identifier := tr_M3UA_asp_id(aspid), + info_String := * + } + } +} + +template (value) PDU_M3UA ts_M3UA_ASPUP_ACK := { + m3UA_ASPUP_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0304'O, + messageLength := 0, // overwritten + messageParameters := { + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPUP_ACK := { + m3UA_ASPUP_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0304'O, + messageLength := ?, + messageParameters := { + info_String := * + } + } +} + +template (value) PDU_M3UA ts_M3UA_ASPDN := { + m3UA_ASPDN := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0302'O, + messageLength := 0, // overwritten + messageParameters := { + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPDN := { + m3UA_ASPDN := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0302'O, + messageLength := ?, + messageParameters := { + info_String := * + } + } +} + +template (value) PDU_M3UA ts_M3UA_ASPDN_ACK := { + m3UA_ASPUP_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0305'O, + messageLength := 0, // overwritten + messageParameters := { + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPDN_ACK := { + m3UA_ASPUP_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0305'O, + messageLength := ?, + messageParameters := { + info_String := * + } + } +} + +template (value) M3UA_Heartbeat_Data ts_M3UA_hb_data(template (value) octetstring hb_data) := { + tag := '0009'O, + lengthInd := 0, // overwritten + heartbeat_Data := hb_data +} + +template (present) M3UA_Heartbeat_Data tr_M3UA_hb_data(template (present) octetstring hb_data) := { + tag := '0009'O, + lengthInd := ?, + heartbeat_Data := hb_data +} + +template (value) PDU_M3UA ts_M3UA_BEAT(template (omit) M3UA_Heartbeat_Data hbd := omit) := { + m3UA_BEAT := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0303'O, + messageLength := 0, // overwritten + messageParameters := { + heartbeat_Data := hbd + } + } +} +template (present) PDU_M3UA tr_M3UA_BEAT(template M3UA_Heartbeat_Data hbd := *) := { + m3UA_BEAT := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0303'O, + messageLength := ?, + messageParameters := { + heartbeat_Data := hbd + } + } +} + +template (value) PDU_M3UA ts_M3UA_BEAT_ACK(template (omit) M3UA_Heartbeat_Data hb_data) := { + m3UA_BEAT_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0306'O, + messageLength := 0, // overwritten + messageParameters := { + heartbeat_Data := hb_data + } + } +} +template (present) PDU_M3UA tr_M3UA_BEAT_ACK(template M3UA_Heartbeat_Data hb_data := *) := { + m3UA_BEAT_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0306'O, + messageLength := ?, + messageParameters := { + heartbeat_Data := hb_data + } + } +} + + + + +/*********************************************************************** + * ASPTM Class + ***********************************************************************/ + + +const M3UA_Traffic_Mode_Type c_M3UA_TMT_override := { + tag := '000B'O, + lengthInd := 8, + trafficModeType := int2oct(1, 4) +} + +const M3UA_Traffic_Mode_Type c_M3UA_TMT_loadshare := { + tag := '000B'O, + lengthInd := 8, + trafficModeType := int2oct(2, 4) +} + +const M3UA_Traffic_Mode_Type c_M3UA_TMT_broadcast := { + tag := '000B'O, + lengthInd := 8, + trafficModeType := int2oct(3, 4) +} + +function ts_M3UA_routing_ctx(template (omit) octetstring rctx) +return template (omit) M3UA_Routing_Context { + var template (omit) M3UA_Routing_Context id; + if (istemplatekind(rctx, "omit")) { + return omit; + } else { + id.tag := '0006'O; + id.lengthInd := 0; // overwritten + id.routingContext := rctx; + return id; + } +} + +function tr_M3UA_routing_ctx(template octetstring rctx) +return template M3UA_Routing_Context { + var template M3UA_Routing_Context id; + if (istemplatekind(rctx, "omit")) { + return omit; + } else if (istemplatekind(rctx, "*")) { + return *; + } else { + id.tag := '0006'O; + id.lengthInd := ?; + id.routingContext := rctx; + return id; + } +} + +template (value) PDU_M3UA ts_M3UA_ASPAC(template (omit) M3UA_Traffic_Mode_Type tmt, + template (omit) OCT4 rctx) := { + m3UA_ASPAC := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0401'O, + messageLength := 0, // overwritten + messageParameters := { + traffic_Mode_Type := tmt, + routing_Context := ts_M3UA_routing_ctx(rctx), + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPAC(template M3UA_Traffic_Mode_Type tmt, + template OCT4 rctx) := { + m3UA_ASPAC := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0401'O, + messageLength := ?, + messageParameters := { + traffic_Mode_Type := tmt, + routing_Context := tr_M3UA_routing_ctx(rctx), + info_String := * + } + } +} + +template (value) PDU_M3UA ts_M3UA_ASPAC_ACK(template (omit) M3UA_Traffic_Mode_Type tmt, + template (omit) OCT4 rctx) := { + m3UA_ASPAC_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0403'O, + messageLength := 0, // overwritten + messageParameters := { + traffic_Mode_Type := tmt, + routing_Context := ts_M3UA_routing_ctx(rctx), + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPAC_ACK(template M3UA_Traffic_Mode_Type tmt, + template OCT4 rctx) := { + m3UA_ASPAC_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0403'O, + messageLength := ?, + messageParameters := { + traffic_Mode_Type := tmt, + routing_Context := tr_M3UA_routing_ctx(rctx), + info_String := * + } + } +} + +template (value) PDU_M3UA ts_M3UA_ASPIA(template (omit) OCT4 rctx) := { + m3UA_ASPIA := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0402'O, + messageLength := 0, // overwritten + messageParameters := { + routing_Context := ts_M3UA_routing_ctx(rctx), + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPIA(template OCT4 rctx) := { + m3UA_ASPIA := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0402'O, + messageLength := ?, + messageParameters := { + routing_Context := tr_M3UA_routing_ctx(rctx), + info_String := * + } + } +} + + +template (value) PDU_M3UA ts_M3UA_ASPIA_ACK(template (omit) OCT4 rctx) := { + m3UA_ASPIA_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0404'O, + messageLength := 0, // overwritten + messageParameters := { + routing_Context := ts_M3UA_routing_ctx(rctx), + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ASPIA_ACK(template OCT4 rctx) := { + m3UA_ASPIA_Ack := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0404'O, + messageLength := ?, + messageParameters := { + routing_Context := tr_M3UA_routing_ctx(rctx), + info_String := * + } + } +} + + +/*********************************************************************** + * MGMT Class + ***********************************************************************/ + +template (value) M3UA_Error_Code ts_M3UA_err_code(template (value) OCT4 val) := { + tag := '000C'O, + lengthInd := 8, + errorCode := val +} +template (present) M3UA_Error_Code tr_M3UA_err_code(template (present) OCT4 val) := { + tag := '000C'O, + lengthInd := 8, + errorCode := val +} + +template (value) M3UA_Status ts_M3UA_status(template (value) OCT2 status_type, + template (value) OCT2 status_info) := { + tag := '000D'O, + lengthInd := 8, + statusType := status_type, + statusInfo := status_info +} + +template (present) M3UA_Status tr_M3UA_status(template (present) OCT2 status_type, + template (present) OCT2 status_info) := { + tag := '000D'O, + lengthInd := 8, + statusType := status_type, + statusInfo := status_info +} + + +template (value) PDU_M3UA ts_M3UA_ERR(template (value) OCT4 err_code, + template (omit) OCT4 rctx) := { + m3UA_ERR := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0000'O, + messageLength := 0, // overwritten + messageParameters := { + error_Code := ts_M3UA_err_code(err_code), + routing_Context := ts_M3UA_routing_ctx(rctx), + affected_Point_Codes := omit, + network_Appearance := omit, + diagnostic_information := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_ERR(template (present) OCT4 err_code, + template OCT4 rctx) := { + m3UA_ERR := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0000'O, + messageLength := ?, + messageParameters := { + error_Code := tr_M3UA_err_code(err_code), + routing_Context := tr_M3UA_routing_ctx(rctx), + affected_Point_Codes := *, + network_Appearance := *, + diagnostic_information := * + } + } +} + + +template (value) PDU_M3UA ts_M3UA_NOTIFY(template (value) OCT2 status_type, + template (value) OCT2 status_info, + template (omit) OCT4 rctx, + template (omit) OCT4 aspid := omit, + template (omit) octetstring infostr := omit) := { + m3UA_NOTIFY := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0001'O, + messageLength := 0, // overwritten + messageParameters := { + status := ts_M3UA_status(status_type, status_info), + aSP_Identifier := f_aspid_or_omit(aspid), + routing_Context := ts_M3UA_routing_ctx(rctx), + info_String := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_NOTIFY(template (present) OCT2 status_type, + template (present) OCT2 status_info, + template OCT4 rctx, + template OCT4 aspid := *, + template octetstring infostr := *) := { + m3UA_NOTIFY := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0001'O, + messageLength := ?, + messageParameters := { + status := tr_M3UA_status(status_type, status_info), + aSP_Identifier := *, + routing_Context := tr_M3UA_routing_ctx(rctx), + info_String := * + } + } +} + +/*********************************************************************** + * Message Transfer Class + ***********************************************************************/ + +template (value) M3UA_Protocol_Data ts_M3UA_protocol_data(template (value) OCT4 opc, + template (value) OCT4 dpc, + template (value) OCT1 si, + template (value) OCT1 ni, + template (value) OCT1 mp, + template (value) OCT1 sls, + template (value) octetstring data) := { + tag := '0210'O, + lengthInd := 0, // overwritten + oPC := opc, + dPC := dpc, + sI := si, + nI := ni, + mP := mp, + sLS := sls, + userProtocolData := data +} +template (present) M3UA_Protocol_Data tr_M3UA_protocol_data(template (present) OCT4 opc, + template (present) OCT4 dpc, + template (present) OCT1 si, + template (present) OCT1 ni, + template (present) OCT1 mp, + template (present) OCT1 sls, + template (present) octetstring data) := { + tag := '0210'O, + lengthInd := ?, + oPC := opc, + dPC := dpc, + sI := si, + nI := ni, + mP := mp, + sLS := sls, + userProtocolData := data +} + + +template (value) PDU_M3UA ts_M3UA_DATA(template (omit) OCT4 rctx, + template (value) M3UA_Protocol_Data data) := { + m3UA_DATA := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0101'O, + messageLength := 0, // overwritten + messageParameters :={ + network_Appearance := omit, + routing_Context := ts_M3UA_routing_ctx(rctx), + protocol_Data := data, + correlation_ID := omit + } + } +} +template (present) PDU_M3UA tr_M3UA_DATA(template OCT4 rctx, + template (present) M3UA_Protocol_Data data) := { + m3UA_DATA := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0101'O, + messageLength := ?, // overwritten + messageParameters := { + network_Appearance := *, + routing_Context := tr_M3UA_routing_ctx(rctx), + protocol_Data := data, + correlation_ID := * + } + } +} + +/*********************************************************************** + * Routing Key Management + ***********************************************************************/ + +template (value) M3UA_Local_Routing_Key_Id ts_M3UA_lrkid(template (value) OCT4 id) := { + tag := '020a'O, + lengthInd := 8, + localRkId := id +} + +template (present) M3UA_Local_Routing_Key_Id tr_M3UA_lrkid(template (present) OCT4 id) := { + tag := '020a'O, + lengthInd := 8, + localRkId := id +} + + +template (value) M3UA_Routing_Key ts_M3UA_rkey(OCT4 id, OCT3 dpc, + template (omit) M3UA_Traffic_Mode_Type tmt := omit, + template (omit) OCT4 rctx := omit) := { + tag := '0207'O, + lengthInd := 0, // overwritten + routingKey := { + local_Routing_Key_Id := ts_M3UA_lrkid(id), + routing_Context := ts_M3UA_routing_ctx(rctx), + traffic_Mode_Type := tmt, + destination_Point_Code := { + tag := '020b'O, + lengthInd := 8, + pointCode := { '00'O, dpc } + }, + network_Appearance := omit, + service_Indicators := omit, + opc_List := omit + } +} +template (present) M3UA_Routing_Key tr_M3UA_rkey(template (present) OCT4 id, template (present) OCT3 dpc, + template M3UA_Traffic_Mode_Type tmt := *, + template OCT4 rctx := *) := { + tag := '0207'O, + lengthInd := ?, + routingKey := { + local_Routing_Key_Id := tr_M3UA_lrkid(id), + routing_Context := tr_M3UA_routing_ctx(rctx), + traffic_Mode_Type := tmt, + destination_Point_Code := { + tag := '020b'O, + lengthInd := 8, + pointCode := { '00'O, dpc } + }, + network_Appearance := omit, + service_Indicators := omit, + opc_List := omit + } +} + + +const OCT4 c_M3UA_REGSTS_SUCCESS := '00000000'O; +const OCT4 c_M3UA_REGSTS_ERR_UNKNOWN := '00000001'O; +const OCT4 c_M3UA_REGSTS_ERR_INVAL_DPC := '00000002'O; +const OCT4 c_M3UA_REGSTS_ERR_INVAL_NA := '00000003'O; +const OCT4 c_M3UA_REGSTS_ERR_INVAL_RKEY := '00000004'O; +const OCT4 c_M3UA_REGSTS_ERR_EPERM := '00000005'O; +// ... + +const OCT4 c_m3UA_DEREGSTS_SUCCESS := '00000000'O; +const OCT4 c_m3UA_DEREGSTS_ERR_UNKNOWN := '00000001'O; +const OCT4 c_m3UA_DEREGSTS_ERR_INVAL_RCTX := '00000002'O; +const OCT4 c_m3UA_DEREGSTS_ERR_EPERM := '00000003'O; +const OCT4 c_m3UA_DEREGSTS_ERR_NOT_REG := '00000004'O; +const OCT4 c_m3UA_DEREGSTS_ERR_ASP_ACTIVE := '00000005'O; + +template (value) M3UA_Registration_Result ts_M3UA_reg_res(template (value) OCT4 id, + template (value) OCT4 status, + template (value) OCT4 rctx) := { + tag := '0208'O, + lengthInd := 0, // overwritten + registrationResult := { + local_Routing_Key_Id := ts_M3UA_lrkid(id), + registration_Status := { + tag := '0212'O, + lengthInd := 8, + registrationStatus := status + }, + routing_Context := ts_M3UA_routing_ctx(rctx) + } +} +template (present) M3UA_Registration_Result tr_M3UA_reg_res(template (present) OCT4 id, + template (present) OCT4 status, + template (present) OCT4 rctx) := { + tag := '0208'O, + lengthInd := ?, + registrationResult := { + local_Routing_Key_Id := tr_M3UA_lrkid(id), + registration_Status := { + tag := '0212'O, + lengthInd := 8, + registrationStatus := status + }, + routing_Context := tr_M3UA_routing_ctx(rctx) + } +} + +template (value) M3UA_Deregistration_Result ts_M3UA_dereg_res(template (value) OCT4 rctx, + template (value) OCT4 status) := { + tag := '0209'O, + lengthInd := 0, // overwritten + deregistrationResult := { + routing_Context := ts_M3UA_routing_ctx(rctx), + deregistration_Status := { + tag := '0213'O, + lengthInd := 8, + deregistrationStatus := status + } + } +} +template (present) M3UA_Deregistration_Result tr_M3UA_dereg_res(template (present) OCT4 rctx, + template (present) OCT4 status) := { + tag := '0209'O, + lengthInd := ?, + deregistrationResult := { + routing_Context := tr_M3UA_routing_ctx(rctx), + deregistration_Status := { + tag := '0213'O, + lengthInd := 8, + deregistrationStatus := status + } + } +} + + +template (value) PDU_M3UA ts_M3UA_REG_REQ(template (value) M3UA_Routing_Keys rkeys) := { + m3UA_REG_REQ := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0901'O, + messageLength := 0, // overwritten + messageParameters := rkeys + } +} +template (present) PDU_M3UA tr_M3UA_REG_REQ(template (present) M3UA_Routing_Keys rkeys) := { + m3UA_REG_REQ := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0901'O, + messageLength := ?, + messageParameters := rkeys + } +} + + +template (value) PDU_M3UA ts_M3UA_REG_RSP(template (value) M3UA_Registration_Results res) := { + m3UA_REG_RSP := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0902'O, + messageLength := 0, // overwritten + messageParameters := res + } +} +template (present) PDU_M3UA tr_M3UA_REG_RSP(template (present) M3UA_Registration_Results res) := { + m3UA_REG_RSP := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0902'O, + messageLength := ?, + messageParameters := res + } +} + +template (value) PDU_M3UA ts_M3UA_DEREG_REQ(template (value) M3UA_Routing_Context rctx) := { + m3UA_DEREG_REQ := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0903'O, + messageLength := 0, // overwritten + messageParameters := { + routing_Context := rctx + } + } +} +template (present) PDU_M3UA tr_M3UA_DEREG_REQ(template (present) M3UA_Routing_Context rctx) := { + m3UA_DEREG_REQ := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0903'O, + messageLength := ?, + messageParameters := { + routing_Context := rctx + } + } +} + +template (value) PDU_M3UA ts_M3UA_DEREG_RSP(template (value) M3UA_Deregistration_Results res) := { + m3UA_DEREG_RSP := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0904'O, + messageLength := 0, // overwritten + messageParameters := res + } +} +template (present) PDU_M3UA tr_M3UA_DEREG_RSP(template (present) M3UA_Deregistration_Results res) := { + m3UA_DEREG_RSP := { + version := c_M3UA_VERSION, + reserved := '00'O, + messageClassAndType := '0904'O, + messageLength := ?, + messageParameters := res + } +} + + + +} diff --git a/library/SCCP_Templates.ttcn b/library/SCCP_Templates.ttcn index a5af073..7c2ffa6 100644 --- a/library/SCCP_Templates.ttcn +++ b/library/SCCP_Templates.ttcn @@ -46,4 +46,25 @@ } } +/* construct a SCCP_PAR_Address with PC + SSN and GT */ +template (value) SCCP_PAR_Address ts_SccpAddr_PC_GT(integer pc, octetstring sio, + charstring sccp_srv_type, hexstring gt_addr) := { + addressIndicator := { + pointCodeIndic := '1'B, + ssnIndicator := '0'B, + globalTitleIndic := '0001'B, // NAI only + routingIndicator := cg_route_on_GT // route on GT + }, + signPointCode := SCCP_SPC_int2bit(pc, sccp_srv_type, sio), + subsystemNumber := omit, + globalTitle := { + gti0001 := { + natureOfAddress := '0000011'B, + oddeven := '0'B, + globalTitleAddress := gt_addr + } + } +} + + } diff --git a/stp/STP_Tests.cfg b/stp/STP_Tests.cfg new file mode 100644 index 0000000..3ba2d13 --- /dev/null +++ b/stp/STP_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./STP_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +STP_Tests.control diff --git a/stp/STP_Tests.default b/stp/STP_Tests.default new file mode 100644 index 0000000..6417e8c --- /dev/null +++ b/stp/STP_Tests.default @@ -0,0 +1,20 @@ +[LOGGING] +FileMask := LOG_ALL | TTCN_MATCHING; + +[TESTPORT_PARAMETERS] +*.VTY.CTRL_MODE := "client" +*.VTY.CTRL_HOSTNAME := "127.0.0.1" +*.VTY.CTRL_PORTNUM := "4239" +*.VTY.CTRL_LOGIN_SKIPPED := "yes" +*.VTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes" +*.VTY.CTRL_READMODE := "buffered" +*.VTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes" +*.VTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes" +*.VTY.PROMPT1 := "OsmoSTP> " + +[MODULE_PARAMETERS] +Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoSTP"; + +[MAIN_CONTROLLER] + +[EXECUTE] diff --git a/stp/STP_Tests.ttcn b/stp/STP_Tests.ttcn new file mode 100644 index 0000000..023c53d --- /dev/null +++ b/stp/STP_Tests.ttcn @@ -0,0 +1,249 @@ +module STP_Tests { + +/* Osmocom STP test suite in 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 + */ + +import from General_Types all; +import from Osmocom_Types all; +import from IPL4asp_Types all; + +import from Osmocom_VTY_Functions all; + +import from M3UA_Types all; +import from M3UA_Templates all; +import from M3UA_CodecPort all; +import from M3UA_CodecPort_CtrlFunct all; + +import from M3UA_Emulation all; +import from MTP3asp_Types all; +import from MTP3asp_PortType all; + +import from SCCP_Types all; +import from SCCP_Templates all; +import from SCCPasp_Types all; +import from SCCP_Emulation all; + +import from IPA_Emulation all; + +import from STP_Tests_Common all; +import from STP_Tests_IPA all; +import from STP_Tests_M3UA all; + + +type component IPA_M3UA_CT extends RAW_M3UA_CT, IPA_CT { +}; + +const OCT1 c_M3UA_SI_SCCP := '03'O; + + +/* copy+pasted from SCCP_Emulation.ttcn, where for some reason it is marked as "runs on SCCP_CT" + * without depending on anything of that component */ + function ConvertASPAddressToEncodedAddress_itu( in SCCP_PAR_Address pl_ASPAddress) + return SCCP_param_CPartyAddressEnc + { + + var SCCP_param_CPartyAddress_itu vl_PDUAddress; //structured fit to encoding + var SCCP_param_CPartyAddressEnc vl_PDUAddressEncoded; + + vl_PDUAddress.addressIndicator.pointCodeIndic:= + pl_ASPAddress.addressIndicator.pointCodeIndic; + + vl_PDUAddress.addressIndicator.ssnIndicator:= + pl_ASPAddress.addressIndicator.ssnIndicator; + + vl_PDUAddress.addressIndicator.globalTitleIndic:= + pl_ASPAddress.addressIndicator.globalTitleIndic; + + vl_PDUAddress.addressIndicator.routingIndicator:= + pl_ASPAddress.addressIndicator.routingIndicator; + + vl_PDUAddress.addressIndicator.reserved:='0'B; + // if (ischosen(pl_ASPAddress.signPointCode) ) not used because it is mandatory field (???) + + //----signPointCode handling + if ( ispresent( pl_ASPAddress.signPointCode )) { + vl_PDUAddress.signPointCode := + '00'B&pl_ASPAddress.signPointCode; + } else { + vl_PDUAddress.signPointCode := omit; + }; + + //----subsystemNumber handling + if ( ispresent( pl_ASPAddress.subsystemNumber ) ){ + vl_PDUAddress.subsystemNumber := pl_ASPAddress.subsystemNumber; + } else { + vl_PDUAddress.subsystemNumber :=omit; + }; + + // --- globalTitle handling-- + if ( ispresent(pl_ASPAddress.globalTitle)) + {//startif1 + + var SCCP_ASPfield_GlobalTitle tmpGT ; + tmpGT := pl_ASPAddress.globalTitle; + + if (ischosen(tmpGT.gti0001)) + { + vl_PDUAddress.globalTitle.gti0001.natureOfAddress:=tmpGT.gti0001.natureOfAddress; + vl_PDUAddress.globalTitle.gti0001.oddeven:=tmpGT.gti0001.oddeven; + vl_PDUAddress.globalTitle.gti0001.globalTitleAddress:=tmpGT.gti0001.globalTitleAddress; + } + else if (ischosen(tmpGT.gti0010)) + { + vl_PDUAddress.globalTitle.gti0010.translationType:=tmpGT.gti0010.translationType; + vl_PDUAddress.globalTitle.gti0010.globalTitleAddress:=tmpGT.gti0010.globalTitleAddress; + } + else if (ischosen(tmpGT.gti0011)) + { + vl_PDUAddress.globalTitle.gti0011.translationType:=tmpGT.gti0011.translationType; + vl_PDUAddress.globalTitle.gti0011.encodingScheme:=tmpGT.gti0011.encodingScheme; + vl_PDUAddress.globalTitle.gti0011.numberingPlan:=tmpGT.gti0011.numberingPlan; + vl_PDUAddress.globalTitle.gti0011.globalTitleAddress:=tmpGT.gti0011.globalTitleAddress; + } + else if (ischosen(tmpGT.gti0100)) + { + vl_PDUAddress.globalTitle.gti0100.translationType:=tmpGT.gti0100.translationType; + vl_PDUAddress.globalTitle.gti0100.encodingScheme:=tmpGT.gti0100.encodingScheme; + vl_PDUAddress.globalTitle.gti0100.numberingPlan:=tmpGT.gti0100.numberingPlan; + vl_PDUAddress.globalTitle.gti0100.natureOfAddress:=tmpGT.gti0100.natureOfAddress; + vl_PDUAddress.globalTitle.gti0100.reserved:='0'B; + vl_PDUAddress.globalTitle.gti0100.globalTitleAddress:=tmpGT.gti0100.globalTitleAddress; + } + } + else + { + vl_PDUAddress.globalTitle := omit; + }; + + vl_PDUAddressEncoded.addr:= enc_PDU_SCCP_Address_itu( vl_PDUAddress); + vl_PDUAddressEncoded.paramLength:= lengthof(vl_PDUAddressEncoded.addr); + + return vl_PDUAddressEncoded; + + } //ConvertASPAddressToEncodedAddress_itu + +template (value) PDU_SCCP ts_SCCP_UDT(SCCP_PAR_Address called, SCCP_PAR_Address calling, + template (value) octetstring data, + template (value) BIT4 msg_hdl := '0000'B) := { + unitdata := { + messageType := udt, + protClass := {'0000'B, msg_hdl}, + pointer1 := 0, + pointer2 := 0, + pointer3 := 0, + calledPAddress := ConvertASPAddressToEncodedAddress_itu(called), + callingPAddress := ConvertASPAddressToEncodedAddress_itu(calling), + data := { + paramLength := 0, + data := data + } + } +} + +/* Test routing of SCCP between an M3UA and an IPA ASP */ +testcase TC_m3ua_to_ipa() runs on IPA_M3UA_CT { + var OCT4 rctx_sender := int2oct(1023, 4); + var OCT4 pc_sender := int2oct(23, 4); + var OCT4 pc_receiver := int2oct(5, 4); + + f_init_m3ua(); + f_init_ipa(); + + f_M3UA_asp_up_act(0, omit, omit); // TODO: rctx + + /* send a well-formed, encoded SCCP message via M3UA */ + var octetstring data := f_rnd_octstring(f_rnd_int(100)); + var SCCP_PAR_Address called := valueof(ts_SccpAddr_GT('1234'H)); + var SCCP_PAR_Address calling := valueof(ts_SccpAddr_GT('5678'H)); + var PDU_SCCP sccp := valueof(ts_SCCP_UDT(called, calling, data)); + var octetstring sccp_enc := enc_PDU_SCCP(sccp); + var template (value) M3UA_Protocol_Data tx_pd; + tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, c_M3UA_SI_SCCP, '00'O, '00'O, '00'O, sccp_enc); + f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1); + + /* expect to receive it via IPA */ + f_IPA_exp(0, sccp_enc); +} + +/* test routing an SCCP message from IPA ASP to M3UA ASP */ +testcase TC_ipa_to_m3ua() runs on IPA_M3UA_CT { + var OCT4 pc_sender := int2oct(5, 4); + var OCT4 rctx_receiver := int2oct(1023, 4); + var OCT4 pc_receiver := int2oct(23, 4); + + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0", "as mahlzeit ipa"}, + "point-code override patch-sccp disabled"); + + f_init_m3ua(); + f_init_ipa(); + + f_M3UA_asp_up_act(0, omit, omit); // TODO: rctx + + /* send a well-formed, encoded SCCP message via IPA */ + var octetstring data := f_rnd_octstring(f_rnd_int(100)); + var SCCP_PAR_Address called := valueof(ts_SccpAddr_GT('1234'H)); + var SCCP_PAR_Address calling := valueof(ts_SccpAddr_GT('5678'H)); + var PDU_SCCP sccp := valueof(ts_SCCP_UDT(called, calling, data)); + var octetstring sccp_enc := enc_PDU_SCCP(sccp); + f_IPA_send(0, sccp_enc); + + /* expect to receive it via M3UA */ + var template (present) M3UA_Protocol_Data rx_pd; + rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, c_M3UA_SI_SCCP, '00'O, '00'O, '00'O, sccp_enc); + f_M3UA_exp(0, tr_M3UA_DATA(rctx_receiver, rx_pd)); +} + +/* test routing an SCCP message from IPA ASP to M3UA ASP while patching PC into SCCP addresses */ +testcase TC_ipa_to_m3ua_patch_sccp() runs on IPA_M3UA_CT { + var OCT4 pc_sender := int2oct(5, 4); + var OCT4 rctx_receiver := int2oct(1023, 4); + var OCT4 pc_receiver := int2oct(23, 4); + + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0", "as mahlzeit ipa"}, + "point-code override patch-sccp both"); + + f_init_m3ua(); + f_init_ipa(); + + f_M3UA_asp_up_act(0, omit, omit); // TODO: rctx + + /* send a well-formed, encoded SCCP message via IPA */ + var octetstring data := f_rnd_octstring(f_rnd_int(100)); + var SCCP_PAR_Address called := valueof(ts_SccpAddr_GT('1234'H)); + var SCCP_PAR_Address calling := valueof(ts_SccpAddr_GT('5678'H)); + var PDU_SCCP sccp := valueof(ts_SCCP_UDT(called, calling, data)); + f_IPA_send(0, enc_PDU_SCCP(sccp)); + + /* patch point codes into addresses */ + called := valueof(ts_SccpAddr_PC_GT(oct2int(pc_receiver), '83'O, "mtp3_itu", '1234'H)); + calling := valueof(ts_SccpAddr_PC_GT(oct2int(pc_sender), '83'O, "mtp3_itu", '5678'H)); + var PDU_SCCP sccp_exp := valueof(ts_SCCP_UDT(called, calling, data)); + + /* expect to receive it via M3UA */ + var template (present) M3UA_Protocol_Data rx_pd; + rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, c_M3UA_SI_SCCP, '00'O, '00'O, '00'O, + enc_PDU_SCCP(sccp_exp)); + f_M3UA_exp(0, tr_M3UA_DATA(rctx_receiver, rx_pd)); +} + + + +control { + /* M3UA <-> IPA Tests */ + execute( TC_m3ua_to_ipa() ); + execute( TC_ipa_to_m3ua() ); + execute( TC_ipa_to_m3ua_patch_sccp() ); +} + + + +} diff --git a/stp/STP_Tests_Common.ttcn b/stp/STP_Tests_Common.ttcn new file mode 100644 index 0000000..aee5a88 --- /dev/null +++ b/stp/STP_Tests_Common.ttcn @@ -0,0 +1,64 @@ +module STP_Tests_Common { + +/* Osmocom STP test suite in 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 + */ + +friend module STP_Tests; +friend module STP_Tests_M3UA; +friend module STP_Tests_IPA; + +import from TELNETasp_PortType all; +import from Osmocom_VTY_Functions all; + +import from IPL4asp_Types all; + +modulepar { + charstring mp_stp_ip := "127.0.0.1"; + charstring mp_local_ip := "127.0.0.1"; +} + +friend template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 3, + template (omit) integer stream := 0) := { + sinfo_stream := stream, + sinfo_ppid := ppid, + remSocks := omit, + assocId := omit +} + +type component Test_CT { + port TELNETasp_PT VTY; + timer g_Tguard := 30.0; + var boolean g_test_initialized := false; +} + +private altstep as_gTguard() runs on Test_CT { + [] g_Tguard.timeout { + setverdict(fail, "Global guard timer timed out"); + mtc.stop; + } +} + +friend function f_init_common() runs on Test_CT { + if (g_test_initialized) { + return; + } + g_test_initialized := true; + + map(self:VTY, system:VTY); + f_vty_set_prompts(VTY); + f_vty_transceive(VTY, "enable"); + + activate(as_gTguard()); + g_Tguard.start; +} + + + +} diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn new file mode 100644 index 0000000..56b8735 --- /dev/null +++ b/stp/STP_Tests_IPA.ttcn @@ -0,0 +1,142 @@ +module STP_Tests_IPA { + +/* Osmocom STP test suite in 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 + */ + +friend module STP_Tests; + +import from General_Types all; +import from Osmocom_Types all; +import from IPL4asp_Types all; + +import from TELNETasp_PortType all; +import from Osmocom_VTY_Functions all; + +import from SCCP_Types all; +import from SCCP_Templates all; +import from SCCPasp_Types all; +import from SCCP_Emulation all; + +import from IPA_Emulation all; + +import from M3UA_Emulation all; +import from M3UA_CodecPort all; +import from MTP3asp_Types all; +import from MTP3asp_PortType all; + +import from STP_Tests_Common all; + +private const integer NR_IPA := 1; + +modulepar { + integer mp_stp_ipa_port := 5000; + integer mp_local_ipa_port := 20000; +} + +type component IPA_CT extends Test_CT { + /* for IPA we use the IPA_Emulation and not directly IPA_CodecPort to avoid + * having to re-invent IPA CCM handling here */ + port MTP3asp_PT IPA[NR_IPA]; + var IPA_Emulation_CT vc_IPA[NR_IPA]; +} + +friend function f_IPA_send(integer idx, octetstring data) runs on IPA_CT { + var MTP3_Field_sio sio := { ni := '00'B, prio := '00'B, si := '0011'B }; + IPA[idx].send(t_ASP_MTP3_TRANSFERreq(sio, 0, 0, 0, data)); +} + +friend function f_IPA_exp(integer idx, template (present) octetstring data) runs on IPA_CT { + var M3UA_RecvFrom rx; + alt { + [] IPA[idx].receive(t_ASP_MTP3_TRANSFERind(?, ?, ?, ?, data)) { + setverdict(pass); + } + [] IPA[idx].receive { + setverdict(fail, "Received unexpected data on IPA port while waiting for ", data); + mtc.stop; + } + } +} + +friend function f_init_ipa() runs on IPA_CT { + var integer i; + + f_init_common(); + + for (i := 0; i < NR_IPA; i:=i+1) { + vc_IPA[i] := IPA_Emulation_CT.create("IPA" & int2str(i)); + map(vc_IPA[i]:IPA_PORT, system:IPA_CODEC_PT); + connect(self:IPA[i], vc_IPA[i]:MTP3_SP_PORT); + vc_IPA[i].start(IPA_Emulation.main_client(mp_stp_ip, mp_stp_ipa_port, mp_local_ip, + mp_local_ipa_port+i)); + } +} + + + +/* "accept-asp-connections pre-configured" and client from unknown source */ +testcase TC_unknown_client_nodynamic() runs on IPA_CT { + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0", "listen ipa 5000"}, + "accept-asp-connections pre-configure"); + f_init_ipa(); + f_sleep(1.0); + if (IPA[0].checkstate("Connected")) { + setverdict(fail, "Expected IPA port to be disconnected"); + } else { + setverdict(pass); + } + /* switch back to default */ + f_vty_config2(VTY, {"cs7 instance 0", "listen ipa 5000"}, + "accept-asp-connections dynamic-permitted"); +} + +/* "accept-asp-connections pre-configured" and client from known source */ +testcase TC_known_client_nodynamic() runs on IPA_CT { + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0", "listen ipa 5000"}, + "accept-asp-connections pre-configure"); + f_vty_config2(VTY, {"cs7 instance 0"}, "asp ipa-mahlzeit0 20000 5000 ipa"); + f_vty_config2(VTY, {"cs7 instance 0", "as mahlzeit ipa"}, "asp ipa-mahlzeit0"); + f_init_ipa(); + f_sleep(1.0); + if (not IPA[0].checkstate("Connected")) { + setverdict(fail, "Expected IPA port to be connected"); + } else { + setverdict(pass); + } + /* switch back to default */ + f_vty_config2(VTY, {"cs7 instance 0", "listen ipa 5000"}, + "accept-asp-connections dynamic-permitted"); + f_vty_config2(VTY, {"cs7 instance 0"}, "no asp ipa-mahlzeit0"); +} + + +/* "accept-asp-connections dynamic-permitted" and client from unknown source */ +testcase TC_unknown_client_dynamic() runs on IPA_CT { + f_init_common(); + f_init_ipa(); + f_sleep(1.0); + if (not IPA[0].checkstate("Connected")) { + setverdict(fail, "Expected IPA port to be connected"); + } else { + setverdict(pass); + } +} + + +control { + execute( TC_unknown_client_nodynamic() ); + execute( TC_known_client_nodynamic() ); + execute( TC_unknown_client_dynamic() ); +} + + +} diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn new file mode 100644 index 0000000..29e85f9 --- /dev/null +++ b/stp/STP_Tests_M3UA.ttcn @@ -0,0 +1,451 @@ +module STP_Tests_M3UA { + +/* Osmocom STP test suite in 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 + */ + +friend module STP_Tests; + +import from General_Types all; +import from Osmocom_Types all; +import from IPL4asp_Types all; + +import from Osmocom_VTY_Functions all; + +import from M3UA_Types all; +import from M3UA_Templates all; +import from M3UA_CodecPort all; +import from M3UA_CodecPort_CtrlFunct all; + +import from M3UA_Emulation all; +import from MTP3asp_Types all; +import from MTP3asp_PortType all; + +import from SCCP_Types all; +import from SCCP_Templates all; +import from SCCPasp_Types all; +import from SCCP_Emulation all; + +import from STP_Tests_Common all; + +modulepar { + integer mp_stp_m3ua_port := 2905; + integer mp_local_m3ua_port := 9999; +} + +private const integer NR_M3UA := 3; + +type component RAW_M3UA_CT extends Test_CT { + port M3UA_CODEC_PT M3UA[NR_M3UA]; + var integer g_m3ua_conn_id[NR_M3UA]; +} + +private template PortEvent tr_SctpAssocChange := { + sctpEvent := { + sctpAssocChange := ? + } +} +private template PortEvent tr_SctpPeerAddrChange := { + sctpEvent := { + sctpPeerAddrChange := ? + } +} + +private altstep as_m3ua_sctp() runs on RAW_M3UA_CT { + [] any from M3UA.receive(tr_SctpAssocChange) { repeat; } + [] any from M3UA.receive(tr_SctpPeerAddrChange) { repeat; } +} + +friend function f_M3UA_send(integer idx, template (present) PDU_M3UA msg, template integer stream := 0) +runs on RAW_M3UA_CT { + M3UA[idx].send(t_M3UA_Send(g_m3ua_conn_id[idx], msg, stream)); +} + +friend function f_M3UA_exp(integer idx, template (present) PDU_M3UA msg) runs on RAW_M3UA_CT { + var M3UA_RecvFrom rx; + alt { + [] M3UA[idx].receive(t_M3UA_RecvFrom(msg)) { + setverdict(pass); + } + [] M3UA[idx].receive(t_M3UA_RecvFrom(?)) -> value rx { + setverdict(fail, "Received unexpected M3UA[", idx, "] ", rx, + "while waiting for ", msg); + mtc.stop; + } + } +} + +friend function f_M3UA_connect(integer i) runs on RAW_M3UA_CT { + var Result res; + res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_ip, mp_stp_m3ua_port, + mp_local_ip, mp_local_m3ua_port+i, -1, + {sctp:=valueof(ts_SCTP)}); + if (not ispresent(res.connId)) { + setverdict(fail, "Could not connect M3UA socket, check your configuration"); + mtc.stop; + } + g_m3ua_conn_id[i] := res.connId; +} + +friend function f_init_m3ua() runs on RAW_M3UA_CT { + var integer i; + + f_init_common(); + + activate(as_m3ua_sctp()); + + for (i := 0; i < NR_M3UA; i:=i+1) { + map(self:M3UA[i], system:M3UA_CODEC_PT); + f_M3UA_connect(i); + } +} + +/* perform an outbound ASP-UP procedure */ +friend function f_M3UA_asp_up(integer idx, template (omit) OCT4 aspid := omit) runs on RAW_M3UA_CT { + f_M3UA_send(idx, ts_M3UA_ASPUP(aspid)); + f_M3UA_exp(idx, tr_M3UA_ASPUP_ACK); +} + +/* perform an outbound BEAT procedure */ +friend function f_M3UA_beat(integer idx, template (omit) octetstring hbd) runs on RAW_M3UA_CT { + if (istemplatekind(hbd, "omit")) { + f_M3UA_send(idx, ts_M3UA_BEAT(omit)); + f_M3UA_exp(idx, tr_M3UA_BEAT_ACK(omit)); + } else { + f_M3UA_send(idx, ts_M3UA_BEAT(ts_M3UA_hb_data(hbd))); + f_M3UA_exp(idx, tr_M3UA_BEAT_ACK(tr_M3UA_hb_data(hbd))); + } +} + +/* perform an outbound ASP-ACTIVATE procedure */ +friend function f_M3UA_asp_act(integer idx, template (omit) M3UA_Traffic_Mode_Type tmt := omit, + template (omit) OCT4 rctx := omit) runs on RAW_M3UA_CT { + f_M3UA_send(idx, ts_M3UA_ASPAC(tmt, rctx)); + f_M3UA_exp(idx, tr_M3UA_ASPAC_ACK(tmt, rctx)); +} + +/* perform outbound ASP-UP and ASP-ACT, optionally expect interemittent NOTIFY */ +friend function f_M3UA_asp_up_act(integer idx, template (omit) M3UA_Traffic_Mode_Type tmt := omit, + template (omit) OCT4 rctx := omit, + template (omit) OCT2 ntfy_after_up := c_M3UA_ST_I_AS_INACTIVE, + template (omit) OCT2 ntfy_after_act := c_M3UA_ST_I_AS_ACTIVE) +runs on RAW_M3UA_CT { + f_M3UA_asp_up(idx, omit); + if (not istemplatekind(ntfy_after_up, "omit")) { + f_M3UA_exp(idx, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, ntfy_after_up, *)); + } + f_M3UA_asp_act(idx, tmt, rctx); + if (not istemplatekind(ntfy_after_act, "omit")) { + f_M3UA_exp(idx, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, ntfy_after_act, *)); + } +} + + +/* Test the ASP-UP procedure */ +testcase TC_connect_asp_up() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_asp_up(0); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_INACTIVE, *)); +} + +/* Test the heartbeat procedure without optional heartbeat data payload */ +testcase TC_beat() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_asp_up(0); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_INACTIVE, *)); + f_M3UA_beat(0, omit); +} + +/* Test the heartbeat procedure with optional heartbeat data payload */ +testcase TC_beat_payload() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_asp_up(0); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_INACTIVE, *)); + f_M3UA_beat(0, 'a1a2a3a4a5'O); +} + +/* Test the ASP-ACTIVATE procedure (without traffic-mode or routing ctx) */ +testcase TC_asp_act() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_asp_up_act(0); +} + +/* Test the ASP-ACTIVATE procedure with traffic-mode override */ +testcase TC_asp_act_override() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_asp_up_act(0, c_M3UA_TMT_override, omit); +} + +/* Test the ASP-ACTIVATE procedure with traffic-mode override */ +testcase TC_asp_act_loadshare() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_asp_up_act(0, c_M3UA_TMT_loadshare, omit); +} + +/* Test the ASP-ACTIVATE procedure with traffic-mode broadcast */ +testcase TC_asp_act_broadcast() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_asp_up_act(0, c_M3UA_TMT_broadcast, omit); +} + +/* Test if traffic is routed from idx_tx/pc_tx to idx_rx/pc_rx */ +private function f_test_traffic(integer idx_tx, template (omit) OCT4 rctx_sender, OCT4 pc_tx, + integer idx_rx, template (omit) OCT4 rctx_receiver, OCT4 pc_rx, + OCT1 si := '23'O, OCT1 ni := '00'O, OCT1 mp := '00'O, OCT1 sls := '00'O) +runs on RAW_M3UA_CT { + var octetstring data := f_rnd_octstring(f_rnd_int(100)); + f_M3UA_send(idx_tx, ts_M3UA_DATA(rctx_sender, + ts_M3UA_protocol_data(pc_tx, pc_rx, si, ni, mp, sls, data)), 1); + f_M3UA_exp(idx_rx, tr_M3UA_DATA(rctx_receiver, + tr_M3UA_protocol_data(pc_tx, pc_rx, si, ni, mp, sls, data))); +} + + +/* test "traffic-mode override" behavior */ +testcase TC_tmt_override() runs on RAW_M3UA_CT { + var OCT4 rctx_sender := int2oct(1023, 4); + var OCT4 pc_sender := int2oct(23, 4); + var OCT4 rctx_receiver := int2oct(1042, 4); + var OCT4 pc_receiver := int2oct(42, 4); + + f_init_m3ua(); + + /* bring up the 'sender' side (single ASP in AS) */ + f_M3UA_asp_up_act(0, omit, omit); + + /* activate the first 'receiver' side ASP */ + f_M3UA_asp_up_act(1, c_M3UA_TMT_override, rctx_receiver); + + /* verify traffic is routed from sender to [sole] receiver */ + f_test_traffic(0, rctx_sender, pc_sender, 1, rctx_receiver, pc_receiver); + + /* activate the second 'receiver' side ASP (no NOTIFY as AS state doesn't change) */ + f_M3UA_asp_up_act(2, c_M3UA_TMT_override, rctx_receiver, omit, omit); + + /* we expect a NOTIFY to the *other* ASP Other/Alternat-ASP-Active */ + f_M3UA_exp(1, tr_M3UA_NOTIFY(c_M3UA_ST_T_OTHER, c_M3UA_ST_I_ALTERNATE_ASP, *)); + + /* verify traffic is routed from sender to new receiver */ + f_test_traffic(0, rctx_sender, pc_sender, 2, rctx_receiver, pc_receiver); + +} + +private altstep as_count_rx(integer idx, template (present) PDU_M3UA exp, inout integer counter) +runs on RAW_M3UA_CT { + [] M3UA[idx].receive(t_M3UA_RecvFrom(exp)) { + counter := counter + 1; + } +} + +/* test "traffic-mode load-share" behavior */ +testcase TC_tmt_loadshare() runs on RAW_M3UA_CT { + var OCT4 rctx_sender := int2oct(1023, 4); + var OCT4 pc_sender := int2oct(23, 4); + var OCT4 rctx_receiver := int2oct(1042, 4); + var OCT4 pc_receiver := int2oct(42, 4); + var integer i; + + f_init_m3ua(); + + /* FIXME: configure the STP via VTY to set traffic-mode */ + + /* bring up the 'sender' side (single ASP in AS) */ + f_M3UA_asp_up_act(0, omit, rctx_sender); + + /* activate the first 'receiver' side ASP */ + f_M3UA_asp_up(1); + f_M3UA_asp_up_act(1, c_M3UA_TMT_loadshare, omit); // TODO: rctx + + /* verify traffic is routed from sender to [sole] receiver */ + for (i := 0; i < 10; i := i+1) { + f_test_traffic(0, rctx_sender, pc_sender, 1, rctx_receiver, pc_receiver); + } + + /* activate the second 'receiver' side ASP (no NOTIFY) */ + f_M3UA_asp_up_act(2, c_M3UA_TMT_loadshare, omit, omit, omit); // TODO: rctx + + /* verify traffic is routed from sender to new receiver */ + const integer iter_per_asp := 5; + var integer num_rx[NR_M3UA] := { 0, 0, 0 }; + for (i := 0; i < 2*iter_per_asp; i := i+1) { + var octetstring data := f_rnd_octstring(f_rnd_int(100)); + var template (value) M3UA_Protocol_Data tx_pd; + var template (present) M3UA_Protocol_Data rx_pd; + tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data); + rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data); + f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1); + alt { + [] as_count_rx(1, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[1]) + [] as_count_rx(2, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[2]) + } + } + /* FIXME: check for extraneous messages? */ + for (i := 1; i <= 2; i := i+1) { + if (num_rx[i] != iter_per_asp) { + setverdict(fail, "Received only ", num_rx[i], " out of expected ", iter_per_asp, + "M3UA DATA messages"); + } + } + setverdict(pass); +} + +/* test "traffic-mode broadcast" behavior */ +testcase TC_tmt_broadcast() runs on RAW_M3UA_CT { + var OCT4 rctx_sender := int2oct(1023, 4); + var OCT4 pc_sender := int2oct(23, 4); + var OCT4 rctx_receiver := int2oct(1042, 4); + var OCT4 pc_receiver := int2oct(42, 4); + var integer i; + + f_init_m3ua(); + + /* FIXME: configure the STP via VTY to set traffic-mode */ + + /* bring up the 'sender' side (single ASP in AS) */ + f_M3UA_asp_up_act(0, omit, omit); // TODO: rctx + + /* activate the first 'receiver' side ASP */ + f_M3UA_asp_up(1); + f_M3UA_asp_up_act(1, c_M3UA_TMT_broadcast, omit); // TODO: rctx + + /* verify traffic is routed from sender to [sole] receiver */ + for (i := 0; i < 10; i := i+1) { + f_test_traffic(0, rctx_sender, pc_sender, 1, rctx_receiver, pc_receiver); + } + + /* activate the second 'receiver' side ASP */ + f_M3UA_asp_up_act(2, c_M3UA_TMT_broadcast, omit, omit, omit); // TODO: rctx + + /* verify traffic is routed from sender to new receiver */ + for (i := 0; i < 10; i := i+1) { + var octetstring data := f_rnd_octstring(f_rnd_int(100)); + var template (value) M3UA_Protocol_Data tx_pd; + var template (present) M3UA_Protocol_Data rx_pd; + tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data); + rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data); + f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1); + /* each message must be received both on 1 and 2 */ + f_M3UA_exp(1, tr_M3UA_DATA(rctx_receiver, rx_pd)); + f_M3UA_exp(2, tr_M3UA_DATA(rctx_receiver, rx_pd)); + } + setverdict(pass); +} + +private function f_M3UA_rkm_register(OCT4 id, OCT3 dpc, OCT4 rctx, + template (present) OCT4 exp_status := c_M3UA_REGSTS_SUCCESS) +runs on RAW_M3UA_CT +{ + f_M3UA_send(0, ts_M3UA_REG_REQ({ts_M3UA_rkey(id:=id, dpc:=dpc, rctx:=rctx)})); + f_M3UA_exp(0, tr_M3UA_REG_RSP({tr_M3UA_reg_res(id:=id, status:=exp_status, rctx:=rctx)})); +} + +/* Send RKM registration; expect -EPERM as RCTX doesn't match config and dynamic not permitted */ +testcase TC_rkm_reg_static_notpermitted() runs on RAW_M3UA_CT { + f_init_m3ua(); + + f_M3UA_send(0, ts_M3UA_REG_REQ({ts_M3UA_rkey(id:='00000099'O, dpc:='aabbcc'O)})); + f_M3UA_exp(0, tr_M3UA_REG_RSP({tr_M3UA_reg_res(id:='00000099'O, status:=c_M3UA_REGSTS_ERR_EPERM, + rctx:=?)})); +} + +/* Send RKM registration; expect OK as RCTX does match config */ +testcase TC_rkm_reg_static_permitted() runs on RAW_M3UA_CT { + var OCT3 dpc := int2oct(23, 3); // must match config + var OCT4 rctx := int2oct(1023, 4); // must match config + + f_init_m3ua(); + + f_M3UA_send(0, ts_M3UA_REG_REQ({ts_M3UA_rkey(id:='10000099'O, dpc:=dpc, rctx:=rctx)})); + f_M3UA_exp(0, tr_M3UA_REG_RSP({tr_M3UA_reg_res(id:='10000099'O, status:=c_M3UA_REGSTS_SUCCESS, + rctx:=rctx)})); +} + +/* Send RKM registration; expect OK as dynamic not permitted */ +testcase TC_rkm_reg_dynamic_permitted() runs on RAW_M3UA_CT { + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation dynamic-permitted"); + f_init_m3ua(); + + f_M3UA_send(0, ts_M3UA_REG_REQ({ts_M3UA_rkey(id:='20000099'O, dpc:='aabbcc'O)})); + f_M3UA_exp(0, tr_M3UA_REG_RSP({tr_M3UA_reg_res(id:='20000099'O, status:=c_M3UA_REGSTS_SUCCESS, + rctx:=?)})); + + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation static-only"); +} + +/* try to de-register a routing key that was never registered -> error */ +testcase TC_rkm_unreg_never_registered() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1023,4)))); + f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_NOT_REG)})); +} + +/* try to de-register a routing key that is invalid (non-existant) -> error */ +testcase TC_rkm_unreg_invalid() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1234,4)))); + f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_INVAL_RCTX)})); +} + +/* try to de-register a routing key that was registered -> OK*/ +testcase TC_rkm_unreg_registered() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1023,4)))); + f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_SUCCESS)})); +} + +/* try to de-register a routing key for an active ASP -> ERROR */ +testcase TC_rkm_unreg_active() runs on RAW_M3UA_CT { + var OCT3 dpc := int2oct(23, 3); // must match config + var OCT4 rctx := int2oct(1023, 4); // must match config + + f_init_m3ua(); + + /* first register the routing key */ + f_M3UA_rkm_register(id:='30000099'O, dpc:=dpc, rctx:=rctx); + + /* then activate the ASP */ + f_M3UA_asp_up_act(0); + + /* then try to de-regsiter */ + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); + f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_ASP_ACTIVE)})); + /* FIXME: we now may have changed the state on the STP side! */ +} + + +control { + /* M3UA Tests */ + execute( TC_connect_asp_up() ); + execute( TC_beat() ); + execute( TC_beat_payload() ); + execute( TC_asp_act() ); + execute( TC_asp_act_override() ); + execute( TC_asp_act_loadshare() ); + execute( TC_asp_act_broadcast() ); + execute( TC_tmt_override() ); + execute( TC_tmt_loadshare() ); + execute( TC_tmt_broadcast() ); + + /* M3UA RKM tests */ + execute( TC_rkm_reg_static_notpermitted() ); + execute( TC_rkm_reg_static_permitted() ); + execute( TC_rkm_reg_dynamic_permitted() ); + execute( TC_rkm_unreg_never_registered() ); + execute( TC_rkm_unreg_invalid() ); + execute( TC_rkm_unreg_registered() ); + execute( TC_rkm_unreg_active() ); + /* TODO: test RKM with unsupported routing keys: NA, SI, OPC */ + /* TODO: register/unregister multiple routing contexts in one message; including mixed + success/failure situations */ +} + + + +} diff --git a/stp/gen_links.sh b/stp/gen_links.sh new file mode 100755 index 0000000..aaf3421 --- /dev/null +++ b/stp/gen_links.sh @@ -0,0 +1,57 @@ +#!/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" +FILES+=" TCCEncoding_Functions.ttcn TCCEncoding.cc " # GSM 7-bit coding +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src +FILES="Socket_API_Definitions.ttcn" +gen_links $DIR $FILES + +# Required by MGCP and IPA +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 + +# required by M3UA_Emulation +DIR=$BASEDIR/titan.ProtocolModules.M3UA/src +FILES="M3UA_Types.ttcn" +gen_links $DIR $FILES + +# required by M3UA_Emulation +DIR=$BASEDIR/titan.TestPorts.SCTPasp/src +FILES="SCTPasp_PT.cc SCTPasp_PT.hh SCTPasp_PortType.ttcn SCTPasp_Types.ttcn" +gen_links $DIR $FILES + +# required by M3UA Emulation +DIR=$BASEDIR/titan.TestPorts.MTP3asp/src +FILES="MTP3asp_PortType.ttcn MTP3asp_Types.ttcn" +gen_links $DIR $FILES + +# required by SCCP Emulation +DIR=$BASEDIR/titan.ProtocolEmulations.M3UA/src +FILES="M3UA_Emulation.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src +FILES="SCCP_Emulation.ttcn SCCP_EncDec.cc SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn" +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=../library +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc " +FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " +FILES+="SCCP_Templates.ttcn " +FILES+="M3UA_Templates.ttcn M3UA_CodecPort.ttcn M3UA_CodecPort_CtrlFunct.ttcn M3UA_CodecPort_CtrlFunctDef.cc " +gen_links $DIR $FILES + +ignore_pp_results diff --git a/stp/osmo-stp.cfg b/stp/osmo-stp.cfg new file mode 100644 index 0000000..d5eccba --- /dev/null +++ b/stp/osmo-stp.cfg @@ -0,0 +1,63 @@ +! +! OsmoSTP (1.1.0.2-3884) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category-hex 1 + logging print category 1 + logging timestamp 0 + logging print file 1 + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + 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 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp notice + logging level ljibuf notice + logging level lrspro notice +! +stats interval 5 +! +line vty + no login +! +cs7 instance 0 + point-code format 24 + asp asp-sender 9999 2905 m3ua + local-ip 127.0.0.1 + remote-ip 127.0.0.1 + asp asp-receiver0 10000 2905 m3ua + local-ip 127.0.0.1 + remote-ip 127.0.0.1 + asp asp-receiver1 10001 2905 m3ua + local-ip 127.0.0.1 + remote-ip 127.0.0.1 + as as-sender m3ua + asp asp-sender + routing-key 1023 23 + as as-receiver m3ua + asp asp-receiver0 + routing-key 1042 42 + as mahlzeit ipa + routing-key 0 5 + point-code override dpc 23 + route-table system + update route 23 16777215 linkset as-sender + update route 42 16777215 linkset as-receiver + listen m3ua 2905 + accept-asp-connections dynamic-permitted + listen ipa 5000 + accept-asp-connections dynamic-permitted diff --git a/stp/regen_makefile.sh b/stp/regen_makefile.sh new file mode 100755 index 0000000..be96829 --- /dev/null +++ b/stp/regen_makefile.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc IPL4asp_PT.cc IPL4asp_discovery.cc IPA_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc TCCEncoding.cc M3UA_CodecPort_CtrlFunctDef.cc " + +export CPPFLAGS_TTCN3="-DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DUSE_MTP3_DISTRIBUTOR" + +../regen-makefile.sh STP_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I628a87385cac0dfe708a0d74a5088fbd5a4790cd Gerrit-Change-Number: 15822 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 Oct 21 17:05:50 2019 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 21 Oct 2019 17:05:50 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor Uplink measurement processing In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15807 ) Change subject: osmo-bts-trx/scheduler: refactor Uplink measurement processing ...................................................................... Patch Set 3: Vadim, I think your idea is good, just implementation is suboptimal, which is solvable. Let's see what the options are. > > If that's because of each burst affecting two frames [...] > > Exactly! A TCH/F or FACCH/F frame is interleaved over 8 consecutive bursts (228 even numbered bits of the first 4 bursts and 228 odd numbered bits of the last 4 bursts), a TCH/H (speech) frame is interleaved over 4 consecutive bursts (114 even numbered bits of the first 2 bursts and 114 odd numbered bits of the last 2 bursts), and a FACCH/H frame is interleaved over 6 consecutive bursts (114 even numbered bits of the first 2 bursts, all bits of the middle 2 bursts, and 114 odd numbered bits of the last 2 bursts). > > > why not just have an avg counter per frame and add values to them accordingly? > > Because a) we allocate a frame (actually, a L1SAP primitive) _after_ decoding of bursts, not before; Can we pass the values along until the frame structure is allocated? > b) before decoding, we don't know whether this is a FACCH or a TCH frame. We know this by looking at stealing bits which can be done before decoding. Not sure if this is helpful without looking deep into the code. > > If there is something I missed why the above can't be done and we do need to store values [...] > > Averaging on the fly _could_ be implemented for TCH/F and FACCH/F by having two separate measurement buffers, but definitely not for TCH/H and FACCH/H because they have different interleaving periods. Not sure I follow you here. Why a different interleaving period prevents us from calculating the average? > > why not use an array? We know that we need 8 values max, so why not allocate an array of 8 elements to avoid linked list operations? > > We basically need a LIFO stack, so we push new measurements on top of it and remove old ones from the tail every time we decode a new frame. It should be possible to implement this using an array, so doing a lookup (i.e. just referencing by index) will be much faster, but then pushing a new set of measurements will be slower as we would need to shift the existing measurements right (copy arr[i] to arr[i + 1]) every time we receive a burst. Given that we're pushing new measurements much more often than we average them, I would not go for that. Alternatively, we could use a FIFO stack and always push to the end. Then we still would need to shift the measurements left (by copying arr[i] to arr[i - 1]) as soon as we decode a new frame. First of all, moving a few contiguous bytes is much faster than allocating dynamic memory. Secondly, there are other data structures that could be used - e.g. circular buffers. Given that we know we don't need more than 8 historical points, implementing a circular buffer logic should be quite simple and require no memory allocation. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bc511223069f66b49109d3267bee7bd89585713 Gerrit-Change-Number: 15807 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 21 Oct 2019 17:05:50 +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 Tue Oct 22 06:53:33 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Tue, 22 Oct 2019 06:53:33 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#544?= In-Reply-To: <1270161181.364.1571640810166.JavaMail.jenkins@jenkins.osmocom.org> References: <1270161181.364.1571640810166.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <432205396.410.1571727213377.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.45 KB...] 320 0 0 320 140 obj/owhw/dfu_board_lowlevel.o 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Tue Oct 22 11:54:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 11:54:00 +0000 Subject: Change in libosmocore[master]: libosmocore.pc.in: Append -lsctp to Libs.private References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15823 ) Change subject: libosmocore.pc.in: Append -lsctp to Libs.private ...................................................................... libosmocore.pc.in: Append -lsctp to Libs.private Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 --- M libosmocore.pc.in 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/15823/1 diff --git a/libosmocore.pc.in b/libosmocore.pc.in index ce82d4f..80f17c8 100644 --- a/libosmocore.pc.in +++ b/libosmocore.pc.in @@ -7,5 +7,5 @@ Description: C Utility Library Version: @VERSION@ Libs: -L${libdir} @TALLOC_LIBS@ -losmocore -Libs.private: @PTHREAD_LIBS@ +Libs.private: @PTHREAD_LIBS@ @LIBSCTP_LIBS@ Cflags: -I${includedir}/ @TALLOC_CFLAGS@ @PTHREAD_CFLAGS@ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 Gerrit-Change-Number: 15823 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 Oct 22 12:01:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 12:01:21 +0000 Subject: Change in libosmo-netif[master]: libosmo-netif.pc.in: Append -lsctp to Libs.private References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15824 ) Change subject: libosmo-netif.pc.in: Append -lsctp to Libs.private ...................................................................... libosmo-netif.pc.in: Append -lsctp to Libs.private Change-Id: If25064d43363bace563e992828350f6d28543854 --- M libosmo-netif.pc.in 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/24/15824/1 diff --git a/libosmo-netif.pc.in b/libosmo-netif.pc.in index 515ed1c..7f1335e 100644 --- a/libosmo-netif.pc.in +++ b/libosmo-netif.pc.in @@ -7,4 +7,5 @@ Description: C Utility Library Version: @VERSION@ Libs: -L${libdir} -losmonetif +Libs.private: @LIBSCTP_LIBS@ Cflags: -I${includedir}/ -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If25064d43363bace563e992828350f6d28543854 Gerrit-Change-Number: 15824 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 Oct 22 13:56:53 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 22 Oct 2019 13:56:53 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15757 ) Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... Patch Set 3: (4 comments) This change is ready for review. https://gerrit.osmocom.org/c/osmo-bts/+/15757/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1230 PS1, Line 1230: FN_REMAP_FACCH_F > You can't be sure at this point as you don't know whether it's FACCH or speech. I noticed the problem. I have now moved the l1if_process_meas_res function call to the positions where the payload indication is generated. This is moving us also closer to the next task where we will merge the measurement data into the payload indication. I am not sure if it is correct now, but I am not sure what happens if the the frame gets stolen by FACCH, maybe we are calling l1if_process_meas_res now two times, once for the FAACH and once for the stolen frame that isn't actually there? I think that if this gets to complicated to resolve, we should consider to do this in a separate patch. https://gerrit.osmocom.org/c/osmo-bts/+/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1318 PS1, Line 1318: FN_REMAP_FACCH_F > That's actually not FACCH. Done https://gerrit.osmocom.org/c/osmo-bts/+/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1442 PS1, Line 1442: FN_REMAP_TCH_H0 > Same here, what if the received frame is FACCH/H? (see above) https://gerrit.osmocom.org/c/osmo-bts/+/15757/1/src/osmo-bts-trx/scheduler_trx.c at 1473 PS1, Line 1473: FN_REMAP_FACCH_H0 > Can be simplified: FN_REMAP_FACCH_H0 + lchan->nr. I don't think that it is a good idea to add values to an enum, we should keep it like it is to be more explicit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 22 Oct 2019 13:56:53 +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 Tue Oct 22 14:05:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 14:05:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: make IPA_Emulation work as IPA client to OsmoSTP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15821 ) Change subject: HACK: make IPA_Emulation work as IPA client to OsmoSTP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7def6090ff95bc868cfc238d56bdb204707108a0 Gerrit-Change-Number: 15821 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 14:05: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 Oct 22 14:05:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 14:05:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: make IPA_Emulation work as IPA client to OsmoSTP In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15821 ) Change subject: HACK: make IPA_Emulation work as IPA client to OsmoSTP ...................................................................... Removed Code-Review+2 by laforge -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7def6090ff95bc868cfc238d56bdb204707108a0 Gerrit-Change-Number: 15821 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 22 14:07:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 14:07:00 +0000 Subject: Change in libosmo-netif[master]: libosmo-netif.pc.in: Append -lsctp to Libs.private In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15824 ) Change subject: libosmo-netif.pc.in: Append -lsctp to Libs.private ...................................................................... Patch Set 1: Code-Review+2 would be useful to the occasional reader *why*. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If25064d43363bace563e992828350f6d28543854 Gerrit-Change-Number: 15824 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 14:07: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 Tue Oct 22 14:07:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 14:07:24 +0000 Subject: Change in osmocom-bb[master]: Fix common misspellings and typos In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15789 ) Change subject: Fix common misspellings and typos ...................................................................... Fix common misspellings and typos Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 --- M src/host/layer23/README M src/host/layer23/include/osmocom/bb/common/sysinfo.h M src/host/layer23/include/osmocom/bb/mobile/gsm322.h M src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h M src/host/layer23/include/osmocom/bb/mobile/mncc.h M src/host/layer23/src/common/main.c M src/host/layer23/src/common/sap_proto.c M src/host/layer23/src/common/sim.c M src/host/layer23/src/common/sysinfo.c M src/host/layer23/src/misc/app_bcch_scan.c M src/host/layer23/src/misc/app_cbch_sniff.c M src/host/layer23/src/misc/app_ccch_scan.c M src/host/layer23/src/misc/cell_log.c M src/host/layer23/src/mobile/app_mobile.c M src/host/layer23/src/mobile/gsm322.c M src/host/layer23/src/mobile/gsm411_sms.c M src/host/layer23/src/mobile/gsm480_ss.c M src/host/layer23/src/mobile/gsm48_cc.c M src/host/layer23/src/mobile/gsm48_mm.c M src/host/layer23/src/mobile/gsm48_rr.c M src/host/layer23/src/mobile/main.c M src/host/layer23/src/mobile/mncc_sock.c M src/host/layer23/src/mobile/mnccms.c M src/host/layer23/src/mobile/script_lua.c M src/host/layer23/src/mobile/vty_interface.c M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/logging.c M src/host/virt_phy/src/virt_prim_pm.c M src/target/firmware/apps/rssi/main.c M src/target/firmware/board/compal/highram.lds M src/target/firmware/board/compal/ram.lds M src/target/firmware/board/mediatek/ram.lds M src/target/firmware/calypso/sim.c M src/target/firmware/comm/sercomm.c M src/target/firmware/fb/fb_rgb332.c M src/target/firmware/fb/fb_s6b33b1x.c M src/target/firmware/include/abb/twl3025.h M src/target/firmware/include/calypso/dsp_api.h M src/target/firmware/include/calypso/l1_environment.h M src/target/firmware/include/calypso/sim.h M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/layer1/sync.h M src/target/firmware/layer1/l23_api.c M src/target/firmware/layer1/prim_fbsb.c M src/target/firmware/layer1/prim_tch.c M src/target/firmware/layer1/sync.c M src/target/firmware/lib/vsprintf.c M src/target/firmware/rf/trf6151.c M src/target/trx_toolkit/data_dump.py M src/target_dsp/calypso/dump2coff.py 52 files changed, 140 insertions(+), 140 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/layer23/README b/src/host/layer23/README index dd59823..c52e7bc 100644 --- a/src/host/layer23/README +++ b/src/host/layer23/README @@ -30,7 +30,7 @@ RSL header (struct abis_rsl_common_hdr). There are utility functions like rslms_tx_rll_req() and rslms_tx_rsll_req_l3() -for creating msgb's with the apropriate RSL/RLL headers. +for creating msgb's with the appropriate RSL/RLL headers. === LAPDm === diff --git a/src/host/layer23/include/osmocom/bb/common/sysinfo.h b/src/host/layer23/include/osmocom/bb/common/sysinfo.h index f843f27..7fea2da 100644 --- a/src/host/layer23/include/osmocom/bb/common/sysinfo.h +++ b/src/host/layer23/include/osmocom/bb/common/sysinfo.h @@ -17,7 +17,7 @@ #define FREQ_TYPE_REP_5bis 0x40 /* sub channel of SI 5bis */ #define FREQ_TYPE_REP_5ter 0x80 /* sub channel of SI 5ter */ -/* structure of all received system informations */ +/* structure of all received system information */ struct gsm48_sysinfo { /* flags of available information */ uint8_t si1, si2, si2bis, si2ter, si3, diff --git a/src/host/layer23/include/osmocom/bb/mobile/gsm322.h b/src/host/layer23/include/osmocom/bb/mobile/gsm322.h index d4caac9..b332778 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/gsm322.h +++ b/src/host/layer23/include/osmocom/bb/mobile/gsm322.h @@ -6,7 +6,7 @@ #include #include -/* 4.3.1.1 List of states for PLMN slection process (automatic mode) */ +/* 4.3.1.1 List of states for PLMN selection process (automatic mode) */ #define GSM322_A0_NULL 0 #define GSM322_A1_TRYING_RPLMN 1 #define GSM322_A2_ON_PLMN 2 @@ -15,7 +15,7 @@ #define GSM322_A5_HPLMN_SEARCH 5 #define GSM322_A6_NO_SIM 6 -/* 4.3.1.2 List of states for PLMN slection process (manual mode) */ +/* 4.3.1.2 List of states for PLMN selection process (manual mode) */ #define GSM322_M0_NULL 0 #define GSM322_M1_TRYING_RPLMN 1 #define GSM322_M2_ON_PLMN 2 @@ -129,9 +129,9 @@ /* state of CCCH activation */ #define GSM322_CCCH_ST_IDLE 0 /* no connection */ -#define GSM322_CCCH_ST_INIT 1 /* initalized */ +#define GSM322_CCCH_ST_INIT 1 /* initialized */ #define GSM322_CCCH_ST_SYNC 2 /* got sync */ -#define GSM322_CCCH_ST_DATA 3 /* receiveing data */ +#define GSM322_CCCH_ST_DATA 3 /* receiving data */ /* neighbour cell info list entry */ struct gsm322_neighbour { @@ -144,7 +144,7 @@ time_t when; /* when did we sync / read */ int16_t rxlev_sum_dbm; /* sum of received levels */ uint8_t rxlev_count; /* number of received levels */ - int8_t rla_c_dbm; /* average of the reveive level */ + int8_t rla_c_dbm; /* average of the receive level */ uint8_t c12_valid; /* both C1 and C2 are calculated */ int16_t c1, c2, crh; uint8_t checked_for_resel; diff --git a/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h b/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h index 6e9c197..93e7c4c 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h +++ b/src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h @@ -204,7 +204,7 @@ struct llist_head list; struct gsm48_mmlayer *mm; - /* ref and type form a unique tupple */ + /* ref and type form a unique tuple */ uint32_t ref; /* reference to trans */ uint8_t protocol; uint8_t transaction_id; diff --git a/src/host/layer23/include/osmocom/bb/mobile/mncc.h b/src/host/layer23/include/osmocom/bb/mobile/mncc.h index 8ec9358..5e976cc 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/mncc.h +++ b/src/host/layer23/include/osmocom/bb/mobile/mncc.h @@ -58,7 +58,7 @@ #define MNCC_SETUP_CNF 0x0104 #define MNCC_SETUP_COMPL_REQ 0x0105 #define MNCC_SETUP_COMPL_IND 0x0106 -/* MNCC_REJ_* is perfomed via MNCC_REL_* */ +/* MNCC_REJ_* is performed via MNCC_REL_* */ #define MNCC_CALL_CONF_IND 0x0107 #define MNCC_CALL_PROC_REQ 0x0108 #define MNCC_PROGRESS_REQ 0x0109 @@ -136,7 +136,7 @@ /* which fields are present */ uint32_t fields; - /* data derived informations (MNCC_F_ based) */ + /* data derived information (MNCC_F_ based) */ struct gsm_mncc_bearer_cap bearer_cap; struct gsm_mncc_number called; struct gsm_mncc_number calling; diff --git a/src/host/layer23/src/common/main.c b/src/host/layer23/src/common/main.c index 8abd3f7..9d1c69e 100644 --- a/src/host/layer23/src/common/main.c +++ b/src/host/layer23/src/common/main.c @@ -208,7 +208,7 @@ if (sigset == SIGHUP || sigset == SIGPIPE) return; - fprintf(stderr, "Signal %d recevied.\n", sigset); + fprintf(stderr, "Signal %d received.\n", sigset); if (l23_app_exit) rc = l23_app_exit(ms); diff --git a/src/host/layer23/src/common/sap_proto.c b/src/host/layer23/src/common/sap_proto.c index c3d202f..ecacfe0 100644 --- a/src/host/layer23/src/common/sap_proto.c +++ b/src/host/layer23/src/common/sap_proto.c @@ -177,7 +177,7 @@ * \param[in] sap_msg pointer to SAP message header * \param[in] param_type parameter type (see sap_param_type enum) * \param[out] param_len parameter length (if found) - * \returns pointer to a given parameter withing the message, NULL otherwise + * \returns pointer to a given parameter within the message, NULL otherwise */ struct sap_param *sap_get_param(const struct sap_message *sap_msg, enum sap_param_type param_type, uint16_t *param_len) diff --git a/src/host/layer23/src/common/sim.c b/src/host/layer23/src/common/sim.c index ed7f54a..1e2bc51 100644 --- a/src/host/layer23/src/common/sim.c +++ b/src/host/layer23/src/common/sim.c @@ -1132,7 +1132,7 @@ case SIM_JOB_INCREASE: if (length != 4) { LOGP(DSIM, LOGL_ERROR, "expecting uint32_t as " - "value lenght, but got %d bytes\n", + "value length, but got %d bytes\n", length); goto request_error; } diff --git a/src/host/layer23/src/common/sysinfo.c b/src/host/layer23/src/common/sysinfo.c index b42bd65..f927773 100644 --- a/src/host/layer23/src/common/sysinfo.c +++ b/src/host/layer23/src/common/sysinfo.c @@ -78,7 +78,7 @@ print(priv, "ARFCN = %s channels 512+ refer to %s\n", gsm_print_arfcn(arfcn), (refer_pcs) ? "PCS (1900)" : "DCS (1800)"); - print(priv, "Available SYSTEM INFORMATIONS ="); + print(priv, "Available SYSTEM INFORMATION ="); if (s->si1) print(priv, " 1"); if (s->si2) diff --git a/src/host/layer23/src/misc/app_bcch_scan.c b/src/host/layer23/src/misc/app_bcch_scan.c index 22e6f1b..5946699 100644 --- a/src/host/layer23/src/misc/app_bcch_scan.c +++ b/src/host/layer23/src/misc/app_bcch_scan.c @@ -53,7 +53,7 @@ int l23_app_init(struct osmocom_ms *ms) { - /* don't do layer3_init() as we don't want an actualy L3 */ + /* don't do layer3_init() as we don't want an actual L3 */ fps_init(); l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL); return osmo_signal_register_handler(SS_L1CTL, &signal_cb, NULL); diff --git a/src/host/layer23/src/misc/app_cbch_sniff.c b/src/host/layer23/src/misc/app_cbch_sniff.c index 8256eaf..58b3324 100644 --- a/src/host/layer23/src/misc/app_cbch_sniff.c +++ b/src/host/layer23/src/misc/app_cbch_sniff.c @@ -179,7 +179,7 @@ int l23_app_init(struct osmocom_ms *ms) { - /* don't do layer3_init() as we don't want an actualy L3 */ + /* don't do layer3_init() as we don't want an actual L3 */ g_ms = ms; lapdm_channel_set_l3(&ms->lapdm_channel, &rcv_rsl, ms); diff --git a/src/host/layer23/src/misc/app_ccch_scan.c b/src/host/layer23/src/misc/app_ccch_scan.c index 88a2bef..be2d9ae 100644 --- a/src/host/layer23/src/misc/app_ccch_scan.c +++ b/src/host/layer23/src/misc/app_ccch_scan.c @@ -166,7 +166,7 @@ struct gsm48_imm_ass *ia = msgb_l3(msg); uint8_t ch_type, ch_subch, ch_ts; - /* Discard packet TBF assignement */ + /* Discard packet TBF assignment */ if (ia->page_mode & 0xf0) return 0; diff --git a/src/host/layer23/src/misc/cell_log.c b/src/host/layer23/src/misc/cell_log.c index 7340dcb..9edd742 100644 --- a/src/host/layer23/src/misc/cell_log.c +++ b/src/host/layer23/src/misc/cell_log.c @@ -438,7 +438,7 @@ return 0; } -/* match request reference agains request */ +/* match request reference against request */ static int match_ra(struct osmocom_ms *ms, struct gsm48_req_ref *ref) { uint8_t ia_t1, ia_t2, ia_t3; diff --git a/src/host/layer23/src/mobile/app_mobile.c b/src/host/layer23/src/mobile/app_mobile.c index f0f118b..a5feb79 100644 --- a/src/host/layer23/src/mobile/app_mobile.c +++ b/src/host/layer23/src/mobile/app_mobile.c @@ -100,7 +100,7 @@ /* waiting for reset after shutdown */ if (ms->shutdown == MS_SHUTDOWN_WAIT_RESET) { - LOGP(DMOB, LOGL_NOTICE, "MS '%s' has been resetted\n", ms->name); + LOGP(DMOB, LOGL_NOTICE, "MS '%s' has been reset\n", ms->name); ms->shutdown = MS_SHUTDOWN_COMPL; break; } diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c index 56dd236..ddb3a77 100644 --- a/src/host/layer23/src/mobile/gsm322.c +++ b/src/host/layer23/src/mobile/gsm322.c @@ -156,7 +156,7 @@ * * * subscr->plmn_list * - * The "PLMN Selector list" stores prefered networks to select during PLMN + * The "PLMN Selector list" stores preferred networks to select during PLMN * search process. This list is also stored in the SIM. * * * subscr->plmn_na @@ -172,7 +172,7 @@ * * * cs->list[1024+299] * - * This list stores measurements and cell informations during cell selection + * This list stores measurements and cell information during cell selection * process. It can be used to speed up repeated cell selection. * * * cs->ba_list @@ -201,7 +201,7 @@ * the BCCH data after 5 minutes. This timer is also used if sync or read * fails. * - * The C1 and C2 criterion is calculated for the currently monitored neigbour + * The C1 and C2 criterion is calculated for the currently monitored neighbour * cells. During this process, a better neighbour cell will trigger cell * re-selection. * @@ -427,14 +427,14 @@ return c2; } - /* penatly time reached */ + /* penalty time reached */ if (t >= (penalty_time + 1) * 20) { LOGP(DNB, LOGL_INFO, "C2 = C1 + CELL_RESELECT_OFFSET (%d) = %d " "(PENALTY_TIME reached)\n", cell_resel_off, c2); return c2; } - /* penalty time not reached, substract temporary offset */ + /* penalty time not reached, subtract temporary offset */ if (temp_offset < 7) c2 -= temp_offset * 10; else @@ -975,7 +975,7 @@ entries--; } - /* move ohter PLMN in decreasing order */ + /* move other PLMN in decreasing order */ while(1) { found = NULL; llist_for_each_entry(temp, &temp_list, entry) { @@ -1047,7 +1047,7 @@ new_a_state(plmn, GSM322_A4_WAIT_FOR_PLMN); - /* we must forward this, otherwhise "Any cell selection" + /* we must forward this, otherwise "Any cell selection" * will not start automatically. */ nmsg = gsm322_msgb_alloc(GSM322_EVENT_NEW_PLMN); @@ -1074,7 +1074,7 @@ /* if no PLMN in list: * this means that we are at a point where we camp on any cell or - * no cell ist available. */ + * no cell is available. */ if (found < 0) { if (subscr->plmn_valid) { LOGP(DPLMN, LOGL_INFO, "Not any PLMN allowable. " @@ -1555,7 +1555,7 @@ /* go Not on PLMN state */ new_m_state(plmn, GSM322_M3_NOT_ON_PLMN); - /* we must forward this, otherwhise "Any cell selection" + /* we must forward this, otherwise "Any cell selection" * will not start automatically. * this way we get back to the last PLMN, in case we gained * our coverage back. @@ -1847,7 +1847,7 @@ if (cs->state == GSM322_C2_STORED_CELL_SEL || cs->state == GSM322_C5_CHOOSE_CELL) mask |= GSM322_CS_FLAG_BA; - flags = mask; /* all masked flags are requied */ + flags = mask; /* all masked flags are required */ /* loop through all scanned frequencies and select cell. * if an index is given (arfci), we just check this cell only */ @@ -1860,12 +1860,12 @@ cs->list[i].flags &= ~GSM322_CS_FLAG_TEMP_AA; s = cs->list[i].sysinfo; - /* channel has no informations for us */ + /* channel has no information for us */ if (!s || (cs->list[i].flags & mask) != flags) { continue; } - /* check C1 criteria not fullfilled */ + /* check C1 criteria not fulfilled */ // TODO: class 3 DCS mobile gsm_arfcn2band_rc(index2arfcn(i), &band); class = class_of_band(ms, band); @@ -2195,7 +2195,7 @@ if (cs->state == GSM322_C2_STORED_CELL_SEL || cs->state == GSM322_C5_CHOOSE_CELL) mask |= GSM322_CS_FLAG_BA; - flags = mask; /* all masked flags are requied */ + flags = mask; /* all masked flags are required */ for (i = 0; i <= 1023+299; i++) { j = 0; /* make gcc happy */ if (!ms->settings.skip_max_per_band) { @@ -2249,7 +2249,7 @@ } /* NOTE: We might already have system information from previous - * scan. But we need recent informations, so we scan again! + * scan. But we need recent information, so we scan again! */ /* Tune to frequency for a while, to receive broadcasts. */ @@ -2462,7 +2462,7 @@ return 0; } -/* process system information when returing to idle mode */ +/* process system information when returning to idle mode */ struct gsm322_ba_list *gsm322_cs_sysinfo_sacch(struct osmocom_ms *ms) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -2517,7 +2517,7 @@ return ba; } -/* store BA whenever a system informations changes */ +/* store BA whenever a system information changes */ static int gsm322_store_ba_list(struct gsm322_cellsel *cs, struct gsm48_sysinfo *s) { @@ -2582,9 +2582,9 @@ return 0; } - /* Store BA if we have full system info about cells and neigbor cells. + /* Store BA if we have full system info about cells and neighbor cells. * Depending on the extended bit in the channel description, - * we require more or less system informations about neighbor cells + * we require more or less system information about neighbor cells */ if (s->mcc && s->mnc @@ -2600,7 +2600,7 @@ && s->nb_ext_ind_si2bis))) gsm322_store_ba_list(cs, s); - /* update sel_si, if all relevant system informations received */ + /* update sel_si, if all relevant system information received */ if (s->si1 && s->si2 && s->si3 && (!s->nb_ext_ind_si2 || (s->si2bis && s->nb_ext_ind_si2 && !s->nb_ext_ind_si2bis) @@ -2696,9 +2696,9 @@ return -EINVAL; } - /* Store BA if we have full system info about cells and neigbor cells. + /* Store BA if we have full system info about cells and neighbor cells. * Depending on the extended bit in the channel description, - * we require more or less system informations about neighbor cells + * we require more or less system information about neighbor cells */ if (s->mcc && s->mnc @@ -2712,7 +2712,7 @@ && (!s->si2ter_ind || s->si2ter)) gsm322_store_ba_list(cs, s); - /* all relevant system informations received */ + /* all relevant system information received */ if (s->si1 && s->si2 && s->si3 && (!s->nb_ext_ind_si2 || s->si2bis) && (!s->si2ter_ind || s->si2ter)) { @@ -3108,7 +3108,7 @@ /* keep cell info for re-selection */ gsm48_rr_los(ms); - /* be shure that nothing else is done after here + /* be sure that nothing else is done after here * because the function call above may cause * to return from idle state and trigger cell re-sel. */ @@ -3220,7 +3220,7 @@ return gsm322_cs_powerscan(ms); } -/* start noraml cell selection */ +/* start normal cell selection */ static int gsm322_c_normal_cell_sel(struct osmocom_ms *ms, struct msgb *msg) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -3265,7 +3265,7 @@ /* indicate to MM that we lost coverage. * this is the only case where we really have no coverage. - * we tell MM, so it will enter the "No Cell Avaiable" state. */ + * we tell MM, so it will enter the "No Cell Available" state. */ if (msg_type == GSM322_EVENT_NO_CELL_FOUND) { struct msgb *nmsg; @@ -3325,7 +3325,7 @@ return gsm322_c_any_cell_sel(ms, msg); } -/* start noraml cell re-selection */ +/* start normal cell re-selection */ static int gsm322_c_normal_cell_resel(struct osmocom_ms *ms, struct msgb *msg) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -3490,7 +3490,7 @@ if (lower == higher) break; lower++; - /* wrap arround, only if not PCS */ + /* wrap around, only if not PCS */ if (lower == 1024) lower = 0; } @@ -4183,7 +4183,7 @@ /* check if we have successfully read BCCH */ if (!s || nb->state != GSM322_NB_SYSINFO) { LOGP(DNB, LOGL_INFO, "Skip cell: There are no system " - "informations available.\n"); + "information available.\n"); if (ms->rrlayer.monitor) { snprintf(arfcn_text, 10, "%s ", gsm_print_arfcn(nb->arfcn)); @@ -4356,7 +4356,7 @@ nb->c2); /* track which cells have been checked do far */ if (nb->checked_for_resel) { - LOGP(DCS, LOGL_INFO, "Skip cell: alredy tried to " + LOGP(DCS, LOGL_INFO, "Skip cell: already tried to " "select.\n"); goto cont; } @@ -4417,7 +4417,7 @@ nb->checked_for_resel = 1; /* NOTE: We might already have system information from previous - * scan. But we need recent informations, so we scan again! + * scan. But we need recent information, so we scan again! */ /* Tune to frequency for a while, to receive broadcasts. */ @@ -4523,7 +4523,7 @@ if (!changed && cs->nb_meas_set) return 0; - /* start neigbour cell measurement task */ + /* start neighbour cell measurement task */ num = 0; llist_for_each_entry(nb, &cs->nb_list, entry) { if (nb->state == GSM322_NB_NOT_SUP) @@ -5080,7 +5080,7 @@ s_rc = fgets(version, sizeof(version), fp); version[sizeof(version) - 1] = '\0'; if (!s_rc || !!strcmp(ba_version, version)) { - LOGP(DCS, LOGL_NOTICE, "BA version missmatch, " + LOGP(DCS, LOGL_NOTICE, "BA version mismatch, " "stored BA list becomes obsolete.\n"); } else while(!feof(fp)) { diff --git a/src/host/layer23/src/mobile/gsm411_sms.c b/src/host/layer23/src/mobile/gsm411_sms.c index 45decfd..593a2ad 100644 --- a/src/host/layer23/src/mobile/gsm411_sms.c +++ b/src/host/layer23/src/mobile/gsm411_sms.c @@ -125,7 +125,7 @@ { vty_notify(ms, NULL); if (!cause) - vty_notify(ms, "SMS to %s successfull\n", sms->address); + vty_notify(ms, "SMS to %s successful\n", sms->address); else vty_notify(ms, "SMS to %s failed: %s\n", sms->address, get_value_string(gsm411_rp_cause_strs, cause)); diff --git a/src/host/layer23/src/mobile/gsm480_ss.c b/src/host/layer23/src/mobile/gsm480_ss.c index 52e43b9..4ad2d7c 100644 --- a/src/host/layer23/src/mobile/gsm480_ss.c +++ b/src/host/layer23/src/mobile/gsm480_ss.c @@ -287,7 +287,7 @@ } /* - * endcoding + * encoding */ #define GSM480_ALLOC_SIZE 512+128 @@ -933,7 +933,7 @@ LOGP(DSS, LOGL_NOTICE, "Invoke ID mismatch\n"); } } - /* Store invoke ID, in case we wan't to send a result. */ + /* Store invoke ID, in case we want to send a result. */ trans->ss.invoke_id = tag_data[0]; len -= tag_data - data + tag_len; data = tag_data + tag_len; diff --git a/src/host/layer23/src/mobile/gsm48_cc.c b/src/host/layer23/src/mobile/gsm48_cc.c index f1e8109..de0d035 100644 --- a/src/host/layer23/src/mobile/gsm48_cc.c +++ b/src/host/layer23/src/mobile/gsm48_cc.c @@ -1750,7 +1750,7 @@ TLVP_VAL(&tp, GSM48_IE_USER_USER)-1); } - /* in case we receive a relase, when we are already in NULL state */ + /* in case we receive a release, when we are already in NULL state */ if (trans->cc.state == GSM_CSTATE_NULL) { LOGP(DCC, LOGL_INFO, "ignoring RELEASE in NULL state\n"); /* release MM conn, free trans */ diff --git a/src/host/layer23/src/mobile/gsm48_mm.c b/src/host/layer23/src/mobile/gsm48_mm.c index 872dce5..d3b042c 100644 --- a/src/host/layer23/src/mobile/gsm48_mm.c +++ b/src/host/layer23/src/mobile/gsm48_mm.c @@ -109,7 +109,7 @@ * - cell selected * - cell == SIM LAI * - * Otherwhise PLMN SEARCH is entered. + * Otherwise PLMN SEARCH is entered. * * During PLMN SEARCH NORMAL state: (4.2.2.5) * - on expirery of T3212: Perform periodic location update, when back @@ -193,7 +193,7 @@ * * * gsm48_mm_set_plmn_search() is used enter PLMN SEARCH or PLMN SEARCH NORMAL - * state. Depending on the conditions above, the appropiate state is selected. + * state. Depending on the conditions above, the appropriate state is selected. * * * gsm48_mm_return_idle() is used to select the Service state when returning @@ -1006,7 +1006,7 @@ if (s->t3212) /* still required? */ gsm48_mm_loc_upd_periodic(ms, NULL); else - LOGP(DMM, LOGL_INFO, "but not requred\n"); + LOGP(DMM, LOGL_INFO, "but not required\n"); /* must exit, because this function can be called * recursively */ @@ -2135,7 +2135,7 @@ /* (re)start only if we still require location update */ if (!mm->lupd_pending) { LOGP(DMM, LOGL_INFO, "No loc. upd. pending.\n"); - /* use MM IDLE to selecte the idle state */ + /* use MM IDLE to select the idle state */ return gsm48_mm_return_idle(ms, NULL); } @@ -2159,7 +2159,7 @@ if (!nmsg) return -ENOMEM; gsm322_plmn_sendmsg(ms, nmsg); - /* use MM IDLE to selecte the idle state */ + /* use MM IDLE to select the idle state */ return gsm48_mm_return_idle(ms, NULL); } @@ -2419,7 +2419,7 @@ /* update has finished */ mm->lupd_pending = 0; - /* RA was successfull */ + /* RA was successful */ mm->lupd_ra_failure = 0; /* stop periodic location updating timer */ @@ -2531,7 +2531,7 @@ return -EINVAL; } - /* RA was successfull */ + /* RA was successful */ mm->lupd_ra_failure = 0; /* stop periodic location updating timer */ @@ -2674,7 +2674,7 @@ return 0; } -/* process failues as described in the lower part of 4.4.4.9 */ +/* process failures as described in the lower part of 4.4.4.9 */ static int gsm48_mm_loc_upd_failed(struct osmocom_ms *ms, struct msgb *msg) { struct gsm48_mmlayer *mm = &ms->mmlayer; @@ -2755,7 +2755,7 @@ return 0; } - /* RA was successfull or sent twice */ + /* RA was successful or sent twice */ mm->lupd_ra_failure = 0; /* continue with failure handling */ @@ -2938,7 +2938,7 @@ /* release MM connection(s) */ gsm48_mm_release_mm_conn(ms, abort_any, 16, 0, 0); - /* state depends on the existance of remaining MM connections */ + /* state depends on the existence of remaining MM connections */ if (llist_empty(&mm->mm_conn)) new_mm_state(mm, GSM48_MM_ST_WAIT_NETWORK_CMD, 0); else @@ -3395,7 +3395,7 @@ /* release pending connection */ gsm48_mm_release_mm_conn(ms, 0, 102, 0, 0); - /* state depends on the existance of remaining MM connections */ + /* state depends on the existence of remaining MM connections */ if (llist_empty(&mm->mm_conn)) { /* start RR release timer */ start_mm_t3240(mm); @@ -3470,7 +3470,7 @@ if (conn) mm_conn_free(conn); - /* state depends on the existance of remaining MM connections */ + /* state depends on the existence of remaining MM connections */ if (llist_empty(&mm->mm_conn)) { /* start RR release timer */ start_mm_t3240(mm); @@ -3800,7 +3800,7 @@ return rc; } -/* state trasitions for radio ressource messages (lower layer) */ +/* state trasitions for radio resource messages (lower layer) */ static struct rrdatastate { uint32_t states; int type; @@ -4059,7 +4059,7 @@ msgb_free(msg); return 0; } - break; /* follow the selection proceedure below */ + break; /* follow the selection procedure below */ case GSM48_PDISC_CC: rc = gsm48_rcv_cc(ms, msg); diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c index a94fc99..254183e 100644 --- a/src/host/layer23/src/mobile/gsm48_rr.c +++ b/src/host/layer23/src/mobile/gsm48_rr.c @@ -40,7 +40,7 @@ * */ -/* Testing delayed (immediate) assigment / handover +/* Testing delayed (immediate) assignment / handover * * When enabled, the starting time will be set by given frames in the future. * If a starting time is given by the network, this time is ignored. @@ -210,7 +210,7 @@ case GSM48_PDISC_MM: case GSM48_PDISC_CC: case GSM48_PDISC_NC_SS: - /* all thre pdiscs share the same V(SD) */ + /* all three pdiscs share the same V(SD) */ pdisc = GSM48_PDISC_MM; // fall through case GSM48_PDISC_GROUP_CC: @@ -634,7 +634,7 @@ uint8_t ch_type, ch_subch, ch_ts; char text[256]; - /* don't monitor if no cell is selcted or if we scan neighbour cells */ + /* don't monitor if no cell is selected or if we scan neighbour cells */ if (!cs->selected || cs->neighbour) { sprintf(text, "MON: not camping on serving cell"); goto restart; @@ -1454,7 +1454,7 @@ if (s->neci) { chan_req_mask = 0x0f; chan_req_val = 0x10; - LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x (OHTER " + LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x (OTHER " "with NECI)\n", chan_req_val); } else { chan_req_mask = 0x1f; @@ -1593,11 +1593,11 @@ rr->n_chan_req--; if (rr->wait_assign == 0) { - /* first random acces, without delay of slots */ + /* first random access, without delay of slots */ slots = 0; rr->wait_assign = 1; } else { - /* subsequent random acces, with slots from table 3.1 */ + /* subsequent random access, with slots from table 3.1 */ switch(s->tx_integer) { case 3: case 8: case 14: case 50: if (s->ccch_conf != 1) /* not combined CCCH */ @@ -2077,7 +2077,7 @@ RR_EST_CAUSE_ANS_PAG_TCH_ANY }; -/* given LV of mobile identity is checked agains ms */ +/* given LV of mobile identity is checked against ms */ static uint8_t gsm_match_mi(struct osmocom_ms *ms, uint8_t *mi) { struct gsm322_cellsel *cs = &ms->cellsel; @@ -2305,7 +2305,7 @@ } else LOGP(DPAG, LOGL_INFO, " TMSI %08x (not for us)\n", ntohl(pa->tmsi2)); - /* thrid MI */ + /* third MI */ if (ms->subscr.tmsi == ntohl(pa->tmsi3) && ms->subscr.mcc == cs->sel_mcc && ms->subscr.mnc == cs->sel_mnc @@ -2335,7 +2335,7 @@ * (immediate) assignment */ -/* match request reference agains request history */ +/* match request reference against request history */ static int gsm48_match_ra(struct osmocom_ms *ms, struct gsm48_req_ref *ref) { struct gsm48_rrlayer *rr = &ms->rrlayer; @@ -2387,7 +2387,7 @@ /* ignore imm.ass. while not camping on a cell */ if (!cs->selected || cs->neighbour || !s) { - LOGP(DRR, LOGL_INFO, "IMMEDIATED ASSGINMENT ignored, we are " + LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT ignored, we are " "have not proper selected the serving cell.\n"); return 0; @@ -2495,7 +2495,7 @@ /* ignore imm.ass.ext while not camping on a cell */ if (!cs->selected || cs->neighbour || !s) { - LOGP(DRR, LOGL_INFO, "IMMEDIATED ASSGINMENT ignored, we are " + LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT ignored, we are " "have not proper selected the serving cell.\n"); return 0; @@ -2671,7 +2671,7 @@ /* start timer 3126 if not already */ if (!osmo_timer_pending(&rr->t3126)) start_rr_t3126(rr, 5, 0); /* TODO improve! */ - /* stop assignmnet requests */ + /* stop assignment requests */ rr->n_chan_req = 0; /* wait until timer 3126 expires, then release @@ -2683,7 +2683,7 @@ return 0; } -/* 9.1.1 ADDITIONAL ASSIGMENT is received */ +/* 9.1.1 ADDITIONAL ASSIGNMENT is received */ static int gsm48_rr_rx_add_ass(struct osmocom_ms *ms, struct msgb *msg) { struct gsm48_hdr *gh = msgb_l3(msg); @@ -2732,7 +2732,7 @@ if ((s->si5bis && s->nb_ext_ind_si5 && s->nb_ba_ind_si5bis != rep_ba) || (s->si5ter && s->nb_ba_ind_si5ter != rep_ba)) { - LOGP(DRR, LOGL_NOTICE, "BA-IND missmatch on SI5*"); + LOGP(DRR, LOGL_NOTICE, "BA-IND mismatch on SI5*"); } else rep_valid = 1; } @@ -3054,7 +3054,7 @@ LOGP(DRR, LOGL_INFO, "using cell channel descr.\n"); if (cd->cell_desc_lv[0] != 16) { LOGP(DRR, LOGL_ERROR, "cell channel descr. " - "has invalid lenght\n"); + "has invalid length\n"); return GSM48_RR_CAUSE_ABNORMAL_UNSPEC; } gsm48_decode_freq_list(freq, cd->cell_desc_lv + 1, 16, @@ -3413,7 +3413,7 @@ } /* - * frequency redefition, chanel mode modify, assignment, and handover + * frequency redefition, channel mode modify, assignment, and handover */ /* set channel mode in case of TCH */ @@ -4537,7 +4537,7 @@ goto reject; } - /* check for relevant informations */ + /* check for relevant information */ if (!s->si3) { LOGP(DRR, LOGL_INFO, "Not enough SI, rejecting!\n"); cause = RR_REL_CAUSE_TRY_LATER; @@ -5364,7 +5364,7 @@ } -/* input function for L2 messags up to L3 */ +/* input function for L2 messages up to L3 */ static int gsm48_rcv_rsl(struct osmocom_ms *ms, struct msgb *msg) { struct abis_rsl_common_hdr *rslh = msgb_l2(msg); @@ -5593,7 +5593,7 @@ int s; if (rr->modify_state != GSM48_RR_MOD_HANDO) { - LOGP(DRR, LOGL_NOTICE, "Random acces confirm, but not in handover state.\n"); + LOGP(DRR, LOGL_NOTICE, "Random access confirm, but not in handover state.\n"); return 0; } diff --git a/src/host/layer23/src/mobile/main.c b/src/host/layer23/src/mobile/main.c index 9764b33..3002a94 100644 --- a/src/host/layer23/src/mobile/main.c +++ b/src/host/layer23/src/mobile/main.c @@ -166,7 +166,7 @@ /* The first signal causes initiating of shutdown with detach * procedure. The second signal causes initiating of shutdown * without detach procedure. The third signal will exit process - * immidiately. (in case it hangs) + * immediately. (in case it hangs) */ if (count_int == 0) { fprintf(stderr, "Performing shutdown with clean " diff --git a/src/host/layer23/src/mobile/mncc_sock.c b/src/host/layer23/src/mobile/mncc_sock.c index d7d56cc..4822190 100644 --- a/src/host/layer23/src/mobile/mncc_sock.c +++ b/src/host/layer23/src/mobile/mncc_sock.c @@ -96,7 +96,7 @@ /* FIXME: make sure we don't enqueue anymore */ - /* release all exisitng calls */ + /* release all existing calls */ mncc_clear_trans(state->inst, GSM48_PDISC_CC); /* flush the queue */ diff --git a/src/host/layer23/src/mobile/mnccms.c b/src/host/layer23/src/mobile/mnccms.c index 2243291..9a37b97 100644 --- a/src/host/layer23/src/mobile/mnccms.c +++ b/src/host/layer23/src/mobile/mnccms.c @@ -153,7 +153,7 @@ mncc->bearer_cap.speech_ctm = 0; /* if no specific speech_ver is given */ if (speech_ver < 0) { - /* if half rate is supported and prefered */ + /* if half rate is supported and preferred */ if (set->half_v3 && set->half && set->half_prefer) { mncc->bearer_cap.speech_ver[i++] = 5; LOGP(DMNCC, LOGL_INFO, " support half rate v3\n"); @@ -175,7 +175,7 @@ mncc->bearer_cap.speech_ver[i++] = 0; LOGP(DMNCC, LOGL_INFO, " support full rate v1\n"); } - /* if half rate is supported and not prefered */ + /* if half rate is supported and not preferred */ if (set->half_v3 && set->half && !set->half_prefer) { mncc->bearer_cap.speech_ver[i++] = 5; LOGP(DMNCC, LOGL_INFO, " support half rate v3\n"); @@ -331,7 +331,7 @@ vty_notify(ms, "Call: Remote out of order\n"); break; case GSM48_CC_CAUSE_INV_NR_FORMAT: - vty_notify(ms, "Call: Number invalid or imcomplete\n"); + vty_notify(ms, "Call: Number invalid or incomplete\n"); break; case GSM48_CC_CAUSE_NO_CIRCUIT_CHAN: vty_notify(ms, "Call: No channel available\n"); diff --git a/src/host/layer23/src/mobile/script_lua.c b/src/host/layer23/src/mobile/script_lua.c index 2979e7c..c8868b5 100644 --- a/src/host/layer23/src/mobile/script_lua.c +++ b/src/host/layer23/src/mobile/script_lua.c @@ -502,7 +502,7 @@ luaL_argcheck(L, lua_isnumber(L, -2), 1, "needs to be a filedescriptor"); luaL_argcheck(L, lua_isfunction(L, -1), 2, "Callback needs to be a function"); - /* Cretae a table so a user can unregister (and unregister on GC) */ + /* Create a table so a user can unregister (and unregister on GC) */ fdu = lua_newuserdata(L, sizeof(*fdu)); fdu->state = L; fdu->fd.fd = -1; diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index 2001b88..70ee703 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -223,7 +223,7 @@ gsm_get_mnc(ms->cellsel.sel_mcc, ms->cellsel.sel_mnc), VTY_NEWLINE); } - vty_out(vty, " radio ressource layer state: %s%s", + vty_out(vty, " radio resource layer state: %s%s", gsm48_rr_state_names[ms->rrlayer.state], VTY_NEWLINE); vty_out(vty, " mobility management layer state: %s", gsm48_mm_state_names[ms->mmlayer.state]); @@ -523,7 +523,7 @@ DEFUN(sim_test, sim_test_cmd, "sim testcard MS_NAME [MCC] [MNC] [LAC] [TMSI]", - "SIM actions\nAttach bulit in test SIM\nName of MS (see \"show ms\")\n" + "SIM actions\nAttach built in test SIM\nName of MS (see \"show ms\")\n" "Optionally set mobile Country Code of RPLMN\n" "Optionally set mobile Network Code of RPLMN\n" "Optionally set location area code of RPLMN\n" @@ -534,7 +534,7 @@ DEFUN(sim_test_att, sim_test_att_cmd, "sim testcard MS_NAME MCC MNC LAC TMSI attached", - "SIM actions\nAttach bulit in test SIM\nName of MS (see \"show ms\")\n" + "SIM actions\nAttach built in test SIM\nName of MS (see \"show ms\")\n" "Set mobile Country Code of RPLMN\nSet mobile Network Code of RPLMN\n" "Set location area code\nSet current assigned TMSI\n" "Indicate to MM that card is already attached") @@ -814,7 +814,7 @@ DEFUN(call, call_cmd, "call MS_NAME (NUMBER|emergency|answer|hangup|hold)", "Make a call\nName of MS (see \"show ms\")\nPhone number to call " "(Use digits '0123456789*#abc', and '+' to dial international)\n" - "Make an emergency call\nAnswer an incomming call\nHangup a call\n" + "Make an emergency call\nAnswer an incoming call\nHangup a call\n" "Hold current active call\n") { struct osmocom_ms *ms; @@ -1597,7 +1597,7 @@ DEFUN(cfg_ms_sim, cfg_ms_sim_cmd, "sim (none|reader|test|sap)", "Set SIM card to attach when powering on\nAttach no SIM\n" - "Attach SIM from reader\nAttach bulit in test SIM\n" + "Attach SIM from reader\nAttach build in test SIM\n" "Attach SIM over SAP interface") { struct osmocom_ms *ms = vty->index; diff --git a/src/host/virt_phy/include/virtphy/virt_l1_model.h b/src/host/virt_phy/include/virtphy/virt_l1_model.h index 67c24bb..e2485fc 100644 --- a/src/host/virt_phy/include/virtphy/virt_l1_model.h +++ b/src/host/virt_phy/include/virtphy/virt_l1_model.h @@ -27,7 +27,7 @@ uint8_t bsic; /* Combined or non-combined CCCH */ uint8_t ccch_mode; /* enum ccch_mode */ - /* whats the delta of the cells current GSM frame number + /* what's the delta of the cells current GSM frame number * compared to our current local frame number */ int32_t fn_offset; /* how much does the TPU need adjustment (delta) to synchronize @@ -71,9 +71,9 @@ uint8_t tn; // timeslot number 1-7 uint8_t subslot; // subslot of the dedicated channel, SDCCH/4:[0-3], SDCCH/8:[0-7] - uint8_t scn; // single-hop cellular network? (ununsed in virtual um) - uint8_t tsc; // training sequence code (ununsed in virtual um) - uint8_t h; // hopping enabled flag (ununsed in virtual um) + uint8_t scn; // single-hop cellular network? (unused in virtual um) + uint8_t tsc; // training sequence code (unused in virtual um) + uint8_t h; // hopping enabled flag (unused in virtual um) } dedicated; struct { struct { diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 2cf9d2d..2b21c6d 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -135,7 +135,7 @@ return true; break; case 1: /* RLC/MAC Control without optional octets */ - /* forward all RLC/MAC control blocks without optional octets, i.e. not adressed + /* forward all RLC/MAC control blocks without optional octets, i.e. not addressed * to a specific TFI */ return true; case 2: /* RLC/MAC with optional control octets */ diff --git a/src/host/virt_phy/src/l1ctl_sap.c b/src/host/virt_phy/src/l1ctl_sap.c index f95a4ca..7669c86 100644 --- a/src/host/virt_phy/src/l1ctl_sap.c +++ b/src/host/virt_phy/src/l1ctl_sap.c @@ -313,7 +313,7 @@ * * Handle frequency change in dedicated mode. E.g. used for frequency hopping. * - * Note: Not needed for virtual physical layer as freqency hopping is generally disabled. + * Note: Not needed for virtual physical layer as frequency hopping is generally disabled. */ void l1ctl_rx_dm_freq_req(struct l1_model_ms *ms, struct msgb *msg) { @@ -504,7 +504,7 @@ * The neighbor cell description is one of the info messages sent by the BTS on BCCH. * This method will also enable neighbor measurement in the multiframe scheduler. * - * Note: Not needed for virtual physical layer as we dont maintain neigbors. + * Note: Not needed for virtual physical layer as we don't maintain neighbors. */ void l1ctl_rx_neigh_pm_req(struct l1_model_ms *ms, struct msgb *msg) { diff --git a/src/host/virt_phy/src/logging.c b/src/host/virt_phy/src/logging.c index 7e4e79b..aa3b88a 100644 --- a/src/host/virt_phy/src/logging.c +++ b/src/host/virt_phy/src/logging.c @@ -131,5 +131,5 @@ if (type < ARRAY_SIZE(l1ctlPrimNames)) return l1ctlPrimNames[type]; else - return "Unknwon Primitive"; + return "Unknown Primitive"; } diff --git a/src/host/virt_phy/src/virt_prim_pm.c b/src/host/virt_phy/src/virt_prim_pm.c index 4637013..6d11f49 100644 --- a/src/host/virt_phy/src/virt_prim_pm.c +++ b/src/host/virt_phy/src/virt_prim_pm.c @@ -106,7 +106,7 @@ struct l1ctl_hdr *resp_l1h = msgb_l1(resp_msg); resp_l1h->flags |= L1CTL_F_DONE; } - /* no more space to hold mor pm info in msgb, flush to l23 */ + /* no more space to hold more pm info in msgb, flush to l23 */ if (msgb_tailroom(resp_msg) < sizeof(*pm_conf)) { LOGPMS(DL1C, LOGL_INFO, ms, "Tx L1CTL_PM_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, resp_msg); diff --git a/src/target/firmware/apps/rssi/main.c b/src/target/firmware/apps/rssi/main.c index 5020486..e137806 100644 --- a/src/target/firmware/apps/rssi/main.c +++ b/src/target/firmware/apps/rssi/main.c @@ -1260,7 +1260,7 @@ /* Main Program */ const char *hr = "======================================================================\n"; -/* match request reference agains request history */ +/* match request reference against request history */ static int gsm48_match_ra(struct gsm48_req_ref *ref) { uint8_t ia_t1, ia_t2, ia_t3; diff --git a/src/target/firmware/board/compal/highram.lds b/src/target/firmware/board/compal/highram.lds index 9309d83..f2e04a3 100644 --- a/src/target/firmware/board/compal/highram.lds +++ b/src/target/firmware/board/compal/highram.lds @@ -16,7 +16,7 @@ XRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000 /* highram binary single big zone with all rest of internal SRAM */ /* -> our text, initialized data */ - /* -> our unitialized data, stacks, heap */ + /* -> our uninitialized data, stacks, heap */ RAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00030000 } SECTIONS diff --git a/src/target/firmware/board/compal/ram.lds b/src/target/firmware/board/compal/ram.lds index 4f08a83..ed7bb62 100644 --- a/src/target/firmware/board/compal/ram.lds +++ b/src/target/firmware/board/compal/ram.lds @@ -12,7 +12,7 @@ /* compal-loaded binary: our text, initialized data */ /* (only this zone can contain loaded data since loader is 64k limit) */ LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00010000 - /* compal-loaded binary: our unitialized data, stacks, heap */ + /* compal-loaded binary: our uninitialized data, stacks, heap */ IRAM (rw) : ORIGIN = 0x00810000, LENGTH = 0x00030000 } SECTIONS diff --git a/src/target/firmware/board/mediatek/ram.lds b/src/target/firmware/board/mediatek/ram.lds index 7083c27..84568cf 100644 --- a/src/target/firmware/board/mediatek/ram.lds +++ b/src/target/firmware/board/mediatek/ram.lds @@ -12,7 +12,7 @@ { /* mtk-loaded binary: our text, initialized data */ LRAM (rw) : ORIGIN = 0x40000000, LENGTH = 0x00006000 - /* mtk-loaded binary: our unitialized data, stacks, heap */ + /* mtk-loaded binary: our uninitialized data, stacks, heap */ IRAM (rw) : ORIGIN = 0x40006000, LENGTH = 0x00006000 } SECTIONS diff --git a/src/target/firmware/calypso/sim.c b/src/target/firmware/calypso/sim.c index 752628f..dc5885c 100644 --- a/src/target/firmware/calypso/sim.c +++ b/src/target/firmware/calypso/sim.c @@ -58,7 +58,7 @@ #define L3_MSG_HEAD 4 static uint8_t sim_data[256]; /* buffer for SIM command */ -static volatile uint16_t sim_len = 0; /* lenght of data in sim_data[] */ +static volatile uint16_t sim_len = 0; /* length of data in sim_data[] */ static volatile uint8_t sim_state = SIM_STATE_IDLE; /* current state of SIM process */ static volatile uint8_t sim_ignore_waiting_char = 0; diff --git a/src/target/firmware/comm/sercomm.c b/src/target/firmware/comm/sercomm.c index 490e225..cebd37d 100644 --- a/src/target/firmware/comm/sercomm.c +++ b/src/target/firmware/comm/sercomm.c @@ -182,7 +182,7 @@ sercomm_unlock(&flags); return 1; } else { - /* no more data avilable */ + /* no more data available */ sercomm_unlock(&flags); return 0; } diff --git a/src/target/firmware/fb/fb_rgb332.c b/src/target/firmware/fb/fb_rgb332.c index 08d64e1..569ccc7 100644 --- a/src/target/firmware/fb/fb_rgb332.c +++ b/src/target/firmware/fb/fb_rgb332.c @@ -144,7 +144,7 @@ int t,tmax; /* counter for steps */ int err_inc,err_accu=0; /* error delta and accumulator for */ - /* Brensenham's algorhithm */ + /* Brensenham's algorithm */ fb_limit_fb_range(&x1,&y1); fb_limit_fb_range(&x2,&y2); diff --git a/src/target/firmware/fb/fb_s6b33b1x.c b/src/target/firmware/fb/fb_s6b33b1x.c index 788ada7..e36c547 100644 --- a/src/target/firmware/fb/fb_s6b33b1x.c +++ b/src/target/firmware/fb/fb_s6b33b1x.c @@ -72,7 +72,7 @@ { DATA, 0x0a }, /* DATA: fPCK = fOSC/6 */ { CMD, 0x2a }, /* CMD Contrast Control */ { DATA, 0x2d }, /* DATA: default contrast */ - { CMD, 0x30 }, /* CMD Adressing mode set */ + { CMD, 0x30 }, /* CMD Addressing mode set */ { DATA, 0x0b }, /* DATA: 65536 color mode */ { CMD, 0x10 }, /* CMD Driver output mode set */ { DATA, 0x03 }, /* DATA: Display duty: 1/132 */ diff --git a/src/target/firmware/include/abb/twl3025.h b/src/target/firmware/include/abb/twl3025.h index 938a425..727bde0 100755 --- a/src/target/firmware/include/abb/twl3025.h +++ b/src/target/firmware/include/abb/twl3025.h @@ -122,7 +122,7 @@ enum togbr2_bits { TOGBR2_KEEPR = (1 << 0), /* Clear KEEPON bit */ TOGBR2_KEEPS = (1 << 1), /* Set KEEPON bit */ - TOGBR2_ACTR = (1 << 2), /* Dectivate MCLK */ + TOGBR2_ACTR = (1 << 2), /* Deactivate MCLK */ TOGBR2_ACTS = (1 << 3), /* Activate MCLK */ TOGBR2_IBUFPTR1 = (1 << 4), /* Initialize pointer of burst buffer 1 */ TOGBR2_IBUFPTR2 = (1 << 5), /* Initialize pointer of burst buffer 2 */ diff --git a/src/target/firmware/include/calypso/dsp_api.h b/src/target/firmware/include/calypso/dsp_api.h index f9751f3..234964f 100644 --- a/src/target/firmware/include/calypso/dsp_api.h +++ b/src/target/firmware/include/calypso/dsp_api.h @@ -45,7 +45,7 @@ API d_task_ra; // (7) RA task command. API d_fn; // (8) FN, in Rep. period and FN%104, used for TRAFFIC/TCH only. // bit [0..7] -> b_fn_report, FN in the normalized reporting period. - // bit [8..15] -> b_fn_sid, FN % 104, used for SID positionning. + // bit [8..15] -> b_fn_sid, FN % 104, used for SID positioning. API d_ctrl_tch; // (9) Tch channel description. // bit [0..3] -> b_chan_mode, channel mode. // bit [4..5] -> b_chan_type, channel type. @@ -72,7 +72,7 @@ // word 1, bit [0..11] -> T1. API d_power_ctl; // (14) Power level control. API d_afc; // (15) AFC value (enabled by "b_afc" in "d_ctrl_TCM4400 or in d_ctrl_abb"). - API d_ctrl_system; // (16) Controle Register for RESET/RESUME. + API d_ctrl_system; // (16) Control Register for RESET/RESUME. // bit [0..2] -> b_tsq, training sequence. // bit [3] -> b_bcch_freq_ind, BCCH frequency indication. // bit [15] -> b_task_abort, DSP task abort command. @@ -264,7 +264,7 @@ // Speech Recognition module API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task API d_sr_db_level; // estimate voice level in dB @@ -608,7 +608,7 @@ // Speech Recognition module API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task API d_sr_db_level; // estimate voice level in dB @@ -766,7 +766,7 @@ // The size of this buffer is 15 word but some speech reco words // are overlayer with this buffer. This is the reason why the size is 3 instead of 15. API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API sr_hole1; // hole API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task @@ -989,7 +989,7 @@ // The size of this buffer is 15 word but some speech reco words // are overlayer with this buffer. This is the reason why the size is 3 instead of 15. API d_sr_status; // status of the DSP speech reco task - API d_sr_param; // paramters for the DSP speech reco task: OOV threshold. + API d_sr_param; // parameters for the DSP speech reco task: OOV threshold. API sr_hole1; // hole API d_sr_bit_exact_test; // bit exact test API d_sr_nb_words; // number of words used in the speech recognition task diff --git a/src/target/firmware/include/calypso/l1_environment.h b/src/target/firmware/include/calypso/l1_environment.h index d4d442c..d49866e 100644 --- a/src/target/firmware/include/calypso/l1_environment.h +++ b/src/target/firmware/include/calypso/l1_environment.h @@ -90,9 +90,9 @@ // bits in d_gsm_bgd_mgt - background task management #define B_DSPBGD_RECO 1 // start of reco in dsp background -#define B_DSPBGD_UPD 2 // start of alignement update in dsp background +#define B_DSPBGD_UPD 2 // start of alignment update in dsp background #define B_DSPBGD_STOP_RECO 256 // stop of reco in dsp background -#define B_DSPBGD_STOP_UPD 512 // stop of alignement update in dsp background +#define B_DSPBGD_STOP_UPD 512 // stop of alignment update in dsp background // bit in d_pll_config #define B_32KHZ_CALIB (1 << 14) // force DSP in Idle1 during 32 khz calibration diff --git a/src/target/firmware/include/calypso/sim.h b/src/target/firmware/include/calypso/sim.h index 5e33bdb..8f627b1 100755 --- a/src/target/firmware/include/calypso/sim.h +++ b/src/target/firmware/include/calypso/sim.h @@ -160,7 +160,7 @@ /* APDU transmission modes */ #define SIM_APDU_PUT 0 /* Transmit a data body to the card */ -#define SIM_APDU_GET 1 /* Fetch data from the card eg. GET RESOPNSE */ +#define SIM_APDU_GET 1 /* Fetch data from the card eg. GET RESPONSE */ void calypso_sim_init(void); /* Initialize simcard interface */ diff --git a/src/target/firmware/include/fb/fb_bw8.h b/src/target/firmware/include/fb/fb_bw8.h index c77fa71..d84f91a 100644 --- a/src/target/firmware/include/fb/fb_bw8.h +++ b/src/target/firmware/include/fb/fb_bw8.h @@ -3,7 +3,7 @@ /* 8bit monochrome framebuffer, organized with 8 stacked pixels per byte, backed by local memory. fb_bw8.c lists functions that - are common to simmilar organized displays. */ + are common to similar organized displays. */ /* Sketch of Memory Layout diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h index 3565ee2..daf998b 100644 --- a/src/target/firmware/include/layer1/sync.h +++ b/src/target/firmware/include/layer1/sync.h @@ -15,7 +15,7 @@ uint8_t bsic; /* Combined or non-combined CCCH */ uint8_t ccch_mode; /* enum ccch_mode */ - /* whats the delta of the cells current GSM frame number + /* what's the delta of the cells current GSM frame number * compared to our current local frame number */ int32_t fn_offset; /* how much does the TPU need adjustment (delta) to synchronize diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c index e78020d..f55e670 100644 --- a/src/target/firmware/layer1/l23_api.c +++ b/src/target/firmware/layer1/l23_api.c @@ -570,7 +570,7 @@ struct l1ctl_traffic_req *tr = (struct l1ctl_traffic_req *) ul->payload; int num = 0; - /* printd("L1CTL_TRAFFIC_REQ\n"); */ /* Very verbose, can overwelm serial */ + /* printd("L1CTL_TRAFFIC_REQ\n"); */ /* Very verbose, can overwhelm serial */ msg->l2h = tr->data; diff --git a/src/target/firmware/layer1/prim_fbsb.c b/src/target/firmware/layer1/prim_fbsb.c index 50acefc..8eaeb5a 100644 --- a/src/target/firmware/layer1/prim_fbsb.c +++ b/src/target/firmware/layer1/prim_fbsb.c @@ -234,7 +234,7 @@ synchronize_tdma(&l1s.serving_cell); - /* if we have recived a SYNC burst, update our local GSM time */ + /* if we have received a SYNC burst, update our local GSM time */ gsm_fn2gsmtime(&l1s.current_time, fbs.mon.time.fn + SB2_LATENCY); /* compute next time from new current time */ l1s.next_time = l1s.current_time; @@ -532,7 +532,7 @@ return; } - /* FIME: use l1s.neigh_cell[fbs.cinfo_idx] */ + /* FIXME: use l1s.neigh_cell[fbs.cinfo_idx] */ fbinfo2cellinfo(&l1s.serving_cell, last_fb); /* send FBSB_CONF success message via L1CTL */ diff --git a/src/target/firmware/layer1/prim_tch.c b/src/target/firmware/layer1/prim_tch.c index a8036d2..0254654 100644 --- a/src/target/firmware/layer1/prim_tch.c +++ b/src/target/firmware/layer1/prim_tch.c @@ -607,7 +607,7 @@ * ------------------------------------------------------------------------- */ /* - * SACCH data are spread over 4 bursts, however they are so far appart that + * SACCH data are spread over 4 bursts, however they are so far apart that * we can't use the normal scheduler to schedule all them at once in a single * set. * Therefore, the task code itself decides in which burst it is, if it's the diff --git a/src/target/firmware/layer1/sync.c b/src/target/firmware/layer1/sync.c index 36f4297..b1eedd0 100644 --- a/src/target/firmware/layer1/sync.c +++ b/src/target/firmware/layer1/sync.c @@ -168,7 +168,7 @@ dsp_api.ndb->d_dsp_page = 0; /* we have to really reset the TPU, otherwise FB detection - * somtimes returns wrong TOA values. */ + * sometimes returns wrong TOA values. */ tpu_reset(1); tpu_reset(0); tpu_rewind(); diff --git a/src/target/firmware/lib/vsprintf.c b/src/target/firmware/lib/vsprintf.c index 80e8c1a..8e92e2a 100644 --- a/src/target/firmware/lib/vsprintf.c +++ b/src/target/firmware/lib/vsprintf.c @@ -615,7 +615,7 @@ while(*fmt && *str) { /* skip any white space in format */ - /* white space in format matchs any amount of + /* white space in format matches any amount of * white space, including none, in the input. */ if (isspace(*fmt)) { diff --git a/src/target/firmware/rf/trf6151.c b/src/target/firmware/rf/trf6151.c index 9de2cc8..ec13928 100644 --- a/src/target/firmware/rf/trf6151.c +++ b/src/target/firmware/rf/trf6151.c @@ -300,8 +300,8 @@ /* Low band. We have 3 possible PLL modes that output on * the right port: GSM900, GSM850_HIGH, GSM850_LOW. * - * The transistion points have been chosen looking at the VCO - * and IF frequencies for various frequencies for theses modes + * The transition points have been chosen looking at the VCO + * and IF frequencies for various frequencies for these modes */ if (freq_khz < 837100) { /* GSM850_LOW */ diff --git a/src/target/trx_toolkit/data_dump.py b/src/target/trx_toolkit/data_dump.py index da42023..b91408f 100644 --- a/src/target/trx_toolkit/data_dump.py +++ b/src/target/trx_toolkit/data_dump.py @@ -94,7 +94,7 @@ # True in case of success, # or False in case of EOF or header parsing error. def _seek2msg(self, idx): - # Seek to the begining of the capture + # Seek to the beginning of the capture self.f.seek(0) # Read the capture in loop... @@ -161,7 +161,7 @@ # or None in case of EOF or header parsing error, # or False in case of message parsing error or out of range. def parse_msg(self, idx): - # Move descriptor to the begining of requested message + # Move descriptor to the beginning of requested message rc = self._seek2msg(idx) if not rc: log.error("Couldn't find requested message") @@ -179,7 +179,7 @@ # Should we skip some messages? if skip is None: - # Seek to the begining of the capture + # Seek to the beginning of the capture self.f.seek(0) else: rc = self._seek2msg(skip) diff --git a/src/target_dsp/calypso/dump2coff.py b/src/target_dsp/calypso/dump2coff.py index c05a0ff..17ff9fa 100755 --- a/src/target_dsp/calypso/dump2coff.py +++ b/src/target_dsp/calypso/dump2coff.py @@ -104,7 +104,7 @@ sptr, # long int s_scnptr; /* File pointer to raw data */ 0, # long int s_relptr; /* File pointer to relocation entries */ 0, # long int s_lnnoptr;/* File pointer to line number entries */ - 0, # unsigned short s_nreloc; /* Number of relocation entrie */ + 0, # unsigned short s_nreloc; /* Number of relocation entries */ 0, # unsigned short s_nlnno; /* Number of line number entries */ s.flags,# unsigned short s_flags; /* Flags (see ``Section header flags'') */ '\x00', # / -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I962b42871693f33b1054d43d195817e9cd84bb64 Gerrit-Change-Number: 15789 Gerrit-PatchSet: 3 Gerrit-Owner: roox 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 Oct 22 14:07:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 14:07:51 +0000 Subject: Change in libosmocore[master]: libosmocore.pc.in: Append -lsctp to Libs.private In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15823 ) Change subject: libosmocore.pc.in: Append -lsctp to Libs.private ...................................................................... Patch Set 1: Code-Review+2 same here, 'why' in the changelog would be useful -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 Gerrit-Change-Number: 15823 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: Tue, 22 Oct 2019 14: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 Oct 22 14:09:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 14:09:56 +0000 Subject: Change in libosmocore[master]: libosmocore.pc.in: Append -lsctp to Libs.private In-Reply-To: References: Message-ID: Hello daniel, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15823 to look at the new patch set (#2). Change subject: libosmocore.pc.in: Append -lsctp to Libs.private ...................................................................... libosmocore.pc.in: Append -lsctp to Libs.private It will be used by the linker when linking statically against libosmocore. Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 --- M libosmocore.pc.in 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/15823/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 Gerrit-Change-Number: 15823 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Oct 22 14:10:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 14:10:26 +0000 Subject: Change in libosmo-netif[master]: libosmo-netif.pc.in: Append -lsctp to Libs.private 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/libosmo-netif/+/15824 to look at the new patch set (#2). Change subject: libosmo-netif.pc.in: Append -lsctp to Libs.private ...................................................................... libosmo-netif.pc.in: Append -lsctp to Libs.private It will be used by the linker when linking statically against libosmo-netif. Change-Id: If25064d43363bace563e992828350f6d28543854 --- M libosmo-netif.pc.in 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/24/15824/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If25064d43363bace563e992828350f6d28543854 Gerrit-Change-Number: 15824 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 Tue Oct 22 14:22:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 14:22:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update 'deps' to use M3UA libraries with proper NOTIFY support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15820 ) Change subject: update 'deps' to use M3UA libraries with proper NOTIFY support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb90c815adae8e30f57c188d1f9db6d6c77d199b Gerrit-Change-Number: 15820 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Oct 2019 14:22: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 Oct 22 14:48:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 14:48:37 +0000 Subject: Change in libosmo-sccp[master]: Fix typo in log message of recent commit References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15825 ) Change subject: Fix typo in log message of recent commit ...................................................................... Fix typo in log message of recent commit Change-Id: I53e6395ea564a7f6f5f8c9e1dd3372ba37bdfb39 --- M src/osmo_ss7_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/25/15825/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index ec387a9..58a3e29 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -865,7 +865,7 @@ int pc; if (as->cfg.proto == OSMO_SS7_ASP_PROT_IPA && atoi(rcontext) != 0) { - vty_out(vty, "IPA doesn't suppor routing contexts; only permitted routing context " + vty_out(vty, "IPA doesn't support routing contexts; only permitted routing context " "is 0\n"); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I53e6395ea564a7f6f5f8c9e1dd3372ba37bdfb39 Gerrit-Change-Number: 15825 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 Oct 22 15:39:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 15:39:37 +0000 Subject: Change in libosmo-sccp[master]: m3ua: Log incorrect selected AS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15826 ) Change subject: m3ua: Log incorrect selected AS ...................................................................... m3ua: Log incorrect selected AS Change-Id: Idfdf6279de1fed453b5f83a5329c50716a79aca9 --- M src/m3ua.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/26/15826/1 diff --git a/src/m3ua.c b/src/m3ua.c index d733b51..5ab3e79 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -561,9 +561,9 @@ /* Verify that this ASP is part of the AS. */ if (!osmo_ss7_as_has_asp(as, asp)) { LOGPASP(asp, DLM3UA, LOGL_ERROR, - "%s(): This Application Server Process is not part of the AS resolved by" + "%s(): This Application Server Process is not part of the AS %s resolved by" " routing context %u\n", - __func__, rctx); + __func__, (as)->cfg.name, rctx); return M3UA_ERR_NO_CONFGD_AS_FOR_ASP; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idfdf6279de1fed453b5f83a5329c50716a79aca9 Gerrit-Change-Number: 15826 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 Oct 22 16:40:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 16:40:09 +0000 Subject: Change in libosmocore[master]: vty: Return error if cmd returns CMD_WARNING while reading cfg file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15827 ) Change subject: vty: Return error if cmd returns CMD_WARNING while reading cfg file ...................................................................... vty: Return error if cmd returns CMD_WARNING while reading cfg file Otherwise bad configurations can easily sneak in and produce unexpected behavior. Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 --- M src/vty/command.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/27/15827/1 diff --git a/src/vty/command.c b/src/vty/command.c index a36f30a..6a9d18a 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2631,8 +2631,7 @@ ret = cmd_execute_command_strict(vline, vty, NULL); cmd_free_strvec(vline); - if (ret != CMD_SUCCESS && ret != CMD_WARNING - && ret != CMD_ERR_NOTHING_TODO) { + if (ret != CMD_SUCCESS && ret != CMD_ERR_NOTHING_TODO) { if (indent) { talloc_free(indent); indent = NULL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Gerrit-Change-Number: 15827 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 Oct 22 16:46:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 16:46:32 +0000 Subject: Change in docker-playground[master]: bsc: Set route ctx 0 for IPA and 1 for M3UA References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15828 ) Change subject: bsc: Set route ctx 0 for IPA and 1 for M3UA ...................................................................... bsc: Set route ctx 0 for IPA and 1 for M3UA Since libosmo-sccp.git 89407619a31a4332bdb59e7921b99a29b7d6e00c it is not allowed to use routing ctx != 0 for IPA AS. Change-Id: If3e883aa988ffa1686f1363d5d5d4dbb21ce36c7 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/osmo-stp.cfg 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/28/15828/1 diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index 97ce617..4a08617 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -21,7 +21,7 @@ peer_pc := 187, peer_ssn := 254, sio := '83'O, - rctx := 0 + rctx := 1 }; [MAIN_CONTROLLER] diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index 084f3ed..cc734d4 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -40,11 +40,11 @@ local-ip 172.18.2.200 remote-ip 172.18.2.203 as mahlzeit ipa - routing-key 1 0.23.4 + routing-key 0 0.23.4 point-code override dpc 0.23.1 as virt-msc0 m3ua asp virt-msc0-0 - routing-key 0 0.23.1 + routing-key 1 0.23.1 route-table system update route 0.23.1 7.255.7 linkset virt-msc0 listen m3ua 2905 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If3e883aa988ffa1686f1363d5d5d4dbb21ce36c7 Gerrit-Change-Number: 15828 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 Oct 22 17:10:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 22 Oct 2019 17:10:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: deps: Fix titan.ProtocolEmulations.M3UA commit reference References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15829 ) Change subject: deps: Fix titan.ProtocolEmulations.M3UA commit reference ...................................................................... deps: Fix titan.ProtocolEmulations.M3UA commit reference The branch upstream has been rebased and old reference no longer exists. Change-Id: I9e631663de2da0bf371404ae092ac50fdbab9c9d --- M deps/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/15829/1 diff --git a/deps/Makefile b/deps/Makefile index ec31e59..ab41ac1 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -75,7 +75,7 @@ # In order to keep local changes in the repository of a dependency, set its commit to the # name of a local branch here (e.g. 'master'). titan.Libraries.TCCUsefulFunctions_commit= R.30.A -titan.ProtocolEmulations.M3UA_commit= R.2.A-2-g742cf02 +titan.ProtocolEmulations.M3UA_commit= R.2.A-6-ge2965cc titan.ProtocolEmulations.SCCP_commit= R.7.A-2-g724c83f titan.ProtocolModules.BSSAPP_v7.3.0_commit= R.2.A titan.ProtocolModules.BSSGP_v13.0.0_commit= R.2.A -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e631663de2da0bf371404ae092ac50fdbab9c9d Gerrit-Change-Number: 15829 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 Oct 22 17:13:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 17:13:53 +0000 Subject: Change in docker-playground[master]: bsc: Set route ctx 0 for IPA and 1 for M3UA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15828 ) Change subject: bsc: Set route ctx 0 for IPA and 1 for M3UA ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If3e883aa988ffa1686f1363d5d5d4dbb21ce36c7 Gerrit-Change-Number: 15828 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 17:13: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 Tue Oct 22 17:14:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 17:14:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: deps: Fix titan.ProtocolEmulations.M3UA commit reference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15829 ) Change subject: deps: Fix titan.ProtocolEmulations.M3UA commit reference ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e631663de2da0bf371404ae092ac50fdbab9c9d Gerrit-Change-Number: 15829 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 17:14: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 Tue Oct 22 17:14:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 17:14:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: deps: Fix titan.ProtocolEmulations.M3UA commit reference In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15829 ) Change subject: deps: Fix titan.ProtocolEmulations.M3UA commit reference ...................................................................... deps: Fix titan.ProtocolEmulations.M3UA commit reference The branch upstream has been rebased and old reference no longer exists. Change-Id: I9e631663de2da0bf371404ae092ac50fdbab9c9d --- M deps/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/deps/Makefile b/deps/Makefile index ec31e59..ab41ac1 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -75,7 +75,7 @@ # In order to keep local changes in the repository of a dependency, set its commit to the # name of a local branch here (e.g. 'master'). titan.Libraries.TCCUsefulFunctions_commit= R.30.A -titan.ProtocolEmulations.M3UA_commit= R.2.A-2-g742cf02 +titan.ProtocolEmulations.M3UA_commit= R.2.A-6-ge2965cc titan.ProtocolEmulations.SCCP_commit= R.7.A-2-g724c83f titan.ProtocolModules.BSSAPP_v7.3.0_commit= R.2.A titan.ProtocolModules.BSSGP_v13.0.0_commit= R.2.A -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e631663de2da0bf371404ae092ac50fdbab9c9d Gerrit-Change-Number: 15829 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 Tue Oct 22 17:14:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 17:14:16 +0000 Subject: Change in docker-playground[master]: bsc: Set route ctx 0 for IPA and 1 for M3UA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15828 ) Change subject: bsc: Set route ctx 0 for IPA and 1 for M3UA ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If3e883aa988ffa1686f1363d5d5d4dbb21ce36c7 Gerrit-Change-Number: 15828 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 17:14: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 Oct 22 17:14:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 17:14:17 +0000 Subject: Change in docker-playground[master]: bsc: Set route ctx 0 for IPA and 1 for M3UA In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15828 ) Change subject: bsc: Set route ctx 0 for IPA and 1 for M3UA ...................................................................... bsc: Set route ctx 0 for IPA and 1 for M3UA Since libosmo-sccp.git 89407619a31a4332bdb59e7921b99a29b7d6e00c it is not allowed to use routing ctx != 0 for IPA AS. Change-Id: If3e883aa988ffa1686f1363d5d5d4dbb21ce36c7 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/osmo-stp.cfg 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index 97ce617..4a08617 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -21,7 +21,7 @@ peer_pc := 187, peer_ssn := 254, sio := '83'O, - rctx := 0 + rctx := 1 }; [MAIN_CONTROLLER] diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index 084f3ed..cc734d4 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -40,11 +40,11 @@ local-ip 172.18.2.200 remote-ip 172.18.2.203 as mahlzeit ipa - routing-key 1 0.23.4 + routing-key 0 0.23.4 point-code override dpc 0.23.1 as virt-msc0 m3ua asp virt-msc0-0 - routing-key 0 0.23.1 + routing-key 1 0.23.1 route-table system update route 0.23.1 7.255.7 linkset virt-msc0 listen m3ua 2905 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If3e883aa988ffa1686f1363d5d5d4dbb21ce36c7 Gerrit-Change-Number: 15828 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 22 19:37:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:37:03 +0000 Subject: Change in libosmocore[master]: vty: Return error if cmd returns CMD_WARNING while reading cfg file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15827 ) Change subject: vty: Return error if cmd returns CMD_WARNING while reading cfg file ...................................................................... Patch Set 1: can we preferably have a test for that? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Gerrit-Change-Number: 15827 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 19:37: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 Tue Oct 22 19:37:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:37:10 +0000 Subject: Change in libosmocore[master]: libosmocore.pc.in: Append -lsctp to Libs.private In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15823 ) Change subject: libosmocore.pc.in: Append -lsctp to Libs.private ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 Gerrit-Change-Number: 15823 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Oct 2019 19:37: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 Oct 22 19:37:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:37:12 +0000 Subject: Change in libosmocore[master]: libosmocore.pc.in: Append -lsctp to Libs.private In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15823 ) Change subject: libosmocore.pc.in: Append -lsctp to Libs.private ...................................................................... libosmocore.pc.in: Append -lsctp to Libs.private It will be used by the linker when linking statically against libosmocore. Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 --- M libosmocore.pc.in 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/libosmocore.pc.in b/libosmocore.pc.in index ce82d4f..80f17c8 100644 --- a/libosmocore.pc.in +++ b/libosmocore.pc.in @@ -7,5 +7,5 @@ Description: C Utility Library Version: @VERSION@ Libs: -L${libdir} @TALLOC_LIBS@ -losmocore -Libs.private: @PTHREAD_LIBS@ +Libs.private: @PTHREAD_LIBS@ @LIBSCTP_LIBS@ Cflags: -I${includedir}/ @TALLOC_CFLAGS@ @PTHREAD_CFLAGS@ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I797b970b22053432b243e4ef9f6b0458727fc608 Gerrit-Change-Number: 15823 Gerrit-PatchSet: 2 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 Tue Oct 22 19:37:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:37:33 +0000 Subject: Change in libosmo-sccp[master]: Fix typo in log message of recent commit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15825 ) Change subject: Fix typo in log message of recent commit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I53e6395ea564a7f6f5f8c9e1dd3372ba37bdfb39 Gerrit-Change-Number: 15825 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Oct 2019 19:37: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 Tue Oct 22 19:37:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:37:35 +0000 Subject: Change in libosmo-sccp[master]: Fix typo in log message of recent commit In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15825 ) Change subject: Fix typo in log message of recent commit ...................................................................... Fix typo in log message of recent commit Change-Id: I53e6395ea564a7f6f5f8c9e1dd3372ba37bdfb39 --- M src/osmo_ss7_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index ec387a9..58a3e29 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -865,7 +865,7 @@ int pc; if (as->cfg.proto == OSMO_SS7_ASP_PROT_IPA && atoi(rcontext) != 0) { - vty_out(vty, "IPA doesn't suppor routing contexts; only permitted routing context " + vty_out(vty, "IPA doesn't support routing contexts; only permitted routing context " "is 0\n"); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I53e6395ea564a7f6f5f8c9e1dd3372ba37bdfb39 Gerrit-Change-Number: 15825 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 Oct 22 19:37:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:37:52 +0000 Subject: Change in libosmo-sccp[master]: m3ua: Log incorrect selected AS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15826 ) Change subject: m3ua: Log incorrect selected AS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idfdf6279de1fed453b5f83a5329c50716a79aca9 Gerrit-Change-Number: 15826 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 19:37: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 Oct 22 19:37:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:37:54 +0000 Subject: Change in libosmo-sccp[master]: m3ua: Log incorrect selected AS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15826 ) Change subject: m3ua: Log incorrect selected AS ...................................................................... m3ua: Log incorrect selected AS Change-Id: Idfdf6279de1fed453b5f83a5329c50716a79aca9 --- M src/m3ua.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/m3ua.c b/src/m3ua.c index d733b51..5ab3e79 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -561,9 +561,9 @@ /* Verify that this ASP is part of the AS. */ if (!osmo_ss7_as_has_asp(as, asp)) { LOGPASP(asp, DLM3UA, LOGL_ERROR, - "%s(): This Application Server Process is not part of the AS resolved by" + "%s(): This Application Server Process is not part of the AS %s resolved by" " routing context %u\n", - __func__, rctx); + __func__, (as)->cfg.name, rctx); return M3UA_ERR_NO_CONFGD_AS_FOR_ASP; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idfdf6279de1fed453b5f83a5329c50716a79aca9 Gerrit-Change-Number: 15826 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 Tue Oct 22 19:38:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:05 +0000 Subject: Change in libosmo-netif[master]: libosmo-netif.pc.in: Append -lsctp to Libs.private In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15824 ) Change subject: libosmo-netif.pc.in: Append -lsctp to Libs.private ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If25064d43363bace563e992828350f6d28543854 Gerrit-Change-Number: 15824 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 19:38: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 Oct 22 19:38:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:07 +0000 Subject: Change in libosmo-netif[master]: libosmo-netif.pc.in: Append -lsctp to Libs.private In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15824 ) Change subject: libosmo-netif.pc.in: Append -lsctp to Libs.private ...................................................................... libosmo-netif.pc.in: Append -lsctp to Libs.private It will be used by the linker when linking statically against libosmo-netif. Change-Id: If25064d43363bace563e992828350f6d28543854 --- M libosmo-netif.pc.in 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/libosmo-netif.pc.in b/libosmo-netif.pc.in index 515ed1c..7f1335e 100644 --- a/libosmo-netif.pc.in +++ b/libosmo-netif.pc.in @@ -7,4 +7,5 @@ Description: C Utility Library Version: @VERSION@ Libs: -L${libdir} -losmonetif +Libs.private: @LIBSCTP_LIBS@ Cflags: -I${includedir}/ -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If25064d43363bace563e992828350f6d28543854 Gerrit-Change-Number: 15824 Gerrit-PatchSet: 3 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 Tue Oct 22 19:38:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:25 +0000 Subject: Change in libosmo-sccp[master]: Defer xua server binding until exit of VTY node In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 ) Change subject: Defer xua server binding until exit of VTY node ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I2cff17b5e2e2fbfd4591e23a416e510e94e173d6 Gerrit-Change-Number: 15784 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Oct 2019 19:38: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 Oct 22 19:38:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:29 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 ) Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 22 Oct 2019 19:38: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 Oct 22 19:38:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:36 +0000 Subject: Change in libosmo-sccp[master]: tests: Introduce test for multi-homing STP features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 ) Change subject: tests: Introduce test for multi-homing STP features ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 Gerrit-Change-Number: 15797 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 22 Oct 2019 19:38: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 Oct 22 19:38:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:53 +0000 Subject: Change in libosmo-sccp[master]: Defer xua server binding until exit of VTY node In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 ) Change subject: Defer xua server binding until exit of VTY node ...................................................................... Defer xua server binding until exit of VTY node Commit 10d4815bb1b4b548ec0bc97611b2e7ac45e0ebc5 already fixed the issue where binding was done during L_CS7_XUA_NODE (listen) done, meaning local-ip inside it had no effect. In that comment, binding was moved to happen during "local-ip" VTY cmd. Furthermore, that commit added a new osmo_ss7_bind_all_instances() and related APIs to allow osmo-stp to have all xua servers bound if no "local-ip" was provided. These APIs have only been used so far by osmo-stp (which lays in the same git repo that libosmo-sccp) since it's the only program using the xua server features. In the present commit, let's drop the APIs added by commit described above, and instead let libosmo-sccp code to internally bind the xua server upon exit of the VTY node. As a result, the previously introduced APIs can be dropped (not used by anyone anymore) and it will provide ways to support multiple "local-ip" commands in the future, hence supporting SCTP multi-home features. It's recommended to require libosmocore.git Ia6d88c0e63d94ba99e950da6efbc4c1871070012 since it fixes a bug where go_parent_cb was not called for nodes at the end of the file. Related: OS#3608 Change-Id: I2cff17b5e2e2fbfd4591e23a416e510e94e173d6 --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M stp/stp_main.c 4 files changed, 3 insertions(+), 44 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index d6ae1d4..9e8f2b3 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -108,8 +108,6 @@ void osmo_ss7_instance_destroy(struct osmo_ss7_instance *inst); int osmo_ss7_instance_set_pc_fmt(struct osmo_ss7_instance *inst, uint8_t c0, uint8_t c1, uint8_t c2); -int osmo_ss7_instance_bind(struct osmo_ss7_instance *inst); -int osmo_ss7_bind_all_instances(); struct osmo_sccp_instance *osmo_ss7_ensure_sccp(struct osmo_ss7_instance *inst); diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 8d188fc..9b51c29 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -422,42 +422,6 @@ return 0; } -/*! \brief bind all xUA servers belonging to an SS7 Instance - * \param[in] inst SS7 Instance to apply the socket binding (and start listening) - * \returns 0 on success; negative value on error */ -int osmo_ss7_instance_bind(struct osmo_ss7_instance *inst) -{ - struct osmo_xua_server *oxs; - int rc = 0; - - llist_for_each_entry(oxs, &inst->xua_servers, list) { - if (osmo_ss7_xua_server_bind(oxs) < 0) { - LOGSS7(inst, LOGL_ERROR, "Unable to bind xUA server %s:%u\n", - oxs->cfg.local.host, oxs->cfg.local.port); - rc = -1; - } - } - return rc; -} - -/*! \brief bind all xUA servers on each of the stored SS7 instances - * \returns 0 on success; negative value on error */ -int osmo_ss7_bind_all_instances() -{ - OSMO_ASSERT(ss7_initialized); - - struct osmo_ss7_instance *inst; - int rc = 0; - - llist_for_each_entry(inst, &osmo_ss7_instances, list) { - if (osmo_ss7_instance_bind(inst) < 0 ) { - LOGSS7(inst, LOGL_ERROR, "Unable to bind all xUA servers in ss7 instance\n"); - rc = -1; - } - } - return rc; -} - /*! Allocate an SCCP instance, if not present yet. * \returns inst->sccp. */ struct osmo_sccp_instance *osmo_ss7_ensure_sccp(struct osmo_ss7_instance *inst) diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 58a3e29..85cc695 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,10 +470,7 @@ struct osmo_xua_server *xs = vty->index; osmo_ss7_xua_server_set_local_host(xs, argv[0]); - if (osmo_ss7_xua_server_bind(xs) < 0) { - vty_out(vty, "Unable to bind xUA server to IP %s%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; - } + return CMD_SUCCESS; } @@ -1725,6 +1722,8 @@ break; case L_CS7_XUA_NODE: oxs = vty->index; + if (osmo_ss7_xua_server_bind(oxs) < 0) + vty_out(vty, "%% Unable to bind xUA server to IP(s)%s", VTY_NEWLINE); vty->node = L_CS7_NODE; vty->index = oxs->inst; break; diff --git a/stp/stp_main.c b/stp/stp_main.c index a3e3a85..4cc2586 100644 --- a/stp/stp_main.c +++ b/stp/stp_main.c @@ -191,8 +191,6 @@ exit(1); } - osmo_ss7_bind_all_instances(); - rc = telnet_init_dynif(tall_stp_ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_STP); if (rc < 0) { perror("Error binding VTY port\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I2cff17b5e2e2fbfd4591e23a416e510e94e173d6 Gerrit-Change-Number: 15784 Gerrit-PatchSet: 3 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 Tue Oct 22 19:38:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:54 +0000 Subject: Change in libosmo-sccp[master]: ss7: Support multiple addresses in SCTP connections In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 ) Change subject: ss7: Support multiple addresses in SCTP connections ...................................................................... ss7: Support multiple addresses in SCTP connections After this patch, Several "local-ip" and "remote-ip" lines are accepted under "listen" and "asp" VTY nodes, allowing to configure an SCTP connection with multiple connections, hence allowing control of SCTP multi-homing features. libosmo-sccp clients such as osmo-bsc and osmo-msc also gain support for this feature with this commit. Related: OS#3608 Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Depends: libosmo-netif.git I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/sccp_user.c M tests/vty/ss7_asp_test.vty 6 files changed, 184 insertions(+), 52 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..98b3b88 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 +libosmo-sigtran osmo_ss7_asp_peer ABI breakage (host is now an array of strings) diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 9e8f2b3..12aeea4 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -8,6 +8,7 @@ #include #include #include +#include extern struct llist_head osmo_ss7_instances; @@ -348,7 +349,8 @@ ***********************************************************************/ struct osmo_ss7_asp_peer { - char *host; + char *host[OSMO_SOCK_MAX_ADDRS]; + size_t host_cnt; uint16_t port; }; @@ -409,6 +411,8 @@ } cfg; }; +int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); + struct osmo_ss7_asp * osmo_ss7_asp_find_by_name(struct osmo_ss7_instance *inst, const char *name); struct osmo_ss7_asp @@ -480,7 +484,9 @@ int osmo_ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host); - +int +osmo_ss7_xua_server_set_local_hosts(struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt); +int osmo_ss7_xua_server_add_local_host(struct osmo_xua_server *xs, const char *local_host); void osmo_ss7_xua_server_destroy(struct osmo_xua_server *xs); struct osmo_sccp_instance * diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 9b51c29..a0b931e 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1065,6 +1065,37 @@ * SS7 Application Server Process ***********************************************************************/ +int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer) +{ + int len = 0, offset = 0, rem = buf_len; + int ret, i; + char *after; + + if (buf_len < 3) + return -EINVAL; + + if (peer->host_cnt != 1) { + ret = snprintf(buf, rem, "("); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + for (i = 0; i < peer->host_cnt; i++) { + if (peer->host_cnt == 1) + after = ""; + else + after = (i == (peer->host_cnt - 1)) ? ")" : "|"; + ret = snprintf(buf + offset, rem, "%s%s", peer->host[i] ? : "0.0.0.0", after); + OSMO_SNPRINTF_RET(ret, rem, offset, len); + } + ret = snprintf(buf + offset, rem, ":%u", peer->port); + if (ret < 0) + return ret; + OSMO_SNPRINTF_RET(ret, rem, offset, len); + + return len; +} + struct osmo_ss7_asp * osmo_ss7_asp_find_by_name(struct osmo_ss7_instance *inst, const char *name) { @@ -1103,6 +1134,7 @@ char hostbuf_l[64], hostbuf_r[64]; uint16_t local_port, remote_port; int rc; + int i; OSMO_ASSERT(ss7_initialized); /* convert local and remote IP to string */ @@ -1129,11 +1161,26 @@ llist_for_each_entry(inst, &osmo_ss7_instances, list) { struct osmo_ss7_asp *asp; llist_for_each_entry(asp, &inst->asp_list, list) { - if (asp->cfg.local.port == local_port && - (!asp->cfg.remote.port ||asp->cfg.remote.port == remote_port) && - (!asp->cfg.local.host || !strcmp(asp->cfg.local.host, hostbuf_l)) && - (!asp->cfg.remote.host || !strcmp(asp->cfg.remote.host, hostbuf_r))) - return asp; + if (asp->cfg.local.port != local_port) + continue; + if (asp->cfg.remote.port && asp->cfg.remote.port != remote_port) + continue; + + for (i = 0; i < asp->cfg.local.host_cnt; i++) { + if (!asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], hostbuf_l)) + break; + } + if (i == asp->cfg.local.host_cnt) + continue; /* didn't match any local.host */ + + for (i = 0; i < asp->cfg.remote.host_cnt; i++) { + if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) + break; + } + if (i == asp->cfg.remote.host_cnt) + continue; /* didn't match any remote.host */ + + return asp; } } @@ -1250,9 +1297,9 @@ return -1; } osmo_stream_cli_set_nodelay(asp->client, true); - osmo_stream_cli_set_addr(asp->client, asp->cfg.remote.host); + osmo_stream_cli_set_addrs(asp->client, (const char**)asp->cfg.remote.host, asp->cfg.remote.host_cnt); osmo_stream_cli_set_port(asp->client, asp->cfg.remote.port); - osmo_stream_cli_set_local_addr(asp->client, asp->cfg.local.host); + osmo_stream_cli_set_local_addrs(asp->client, (const char**)asp->cfg.local.host, asp->cfg.local.host_cnt); osmo_stream_cli_set_local_port(asp->client, asp->cfg.local.port); osmo_stream_cli_set_proto(asp->client, asp_proto_to_ip_proto(asp->cfg.proto)); osmo_stream_cli_set_reconnect_timeout(asp->client, 5); @@ -1699,8 +1746,11 @@ LOGP(DLSS7, LOGL_INFO, "%s: created dynamicASP %s\n", sock_name, asp->cfg.name); asp->cfg.is_server = true; + asp->cfg.local.host[0] = NULL; + asp->cfg.remote.host_cnt = 1; asp->cfg.remote.port = atoi(portbuf); - asp->cfg.remote.host = talloc_strdup(asp, hostbuf); + asp->cfg.remote.host[0] = talloc_strdup(asp, hostbuf); + asp->cfg.remote.host_cnt = 1; asp->dyn_allocated = true; asp->server = srv; osmo_ss7_asp_restart(asp); @@ -1832,17 +1882,17 @@ oxs->cfg.proto = proto; oxs->cfg.local.port = local_port; - oxs->cfg.local.host = talloc_strdup(oxs, local_host); oxs->server = osmo_stream_srv_link_create(oxs); osmo_stream_srv_link_set_data(oxs->server, oxs); osmo_stream_srv_link_set_accept_cb(oxs->server, xua_accept_cb); osmo_stream_srv_link_set_nodelay(oxs->server, true); - osmo_stream_srv_link_set_addr(oxs->server, oxs->cfg.local.host); osmo_stream_srv_link_set_port(oxs->server, oxs->cfg.local.port); osmo_stream_srv_link_set_proto(oxs->server, asp_proto_to_ip_proto(proto)); + osmo_ss7_xua_server_set_local_host(oxs, local_host); + LOGP(DLSS7, LOGL_INFO, "Created %s server on %s:%" PRIu16 "\n", get_value_string(osmo_ss7_asp_protocol_vals, proto), local_host, local_port); @@ -1863,20 +1913,74 @@ int osmo_ss7_xua_server_bind(struct osmo_xua_server *xs) { - LOGP(DLSS7, LOGL_INFO, "(Re)binding %s Server to %s:%u\n", - get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto), - xs->cfg.local.host, xs->cfg.local.port); + char buf[512]; + int rc; + const char *proto = get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto); + + rc = osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &xs->cfg.local); + if (rc < 0) { + LOGP(DLSS7, LOGL_INFO, "Failed parsing %s Server osmo_ss7_asp_peer\n", proto); + } else { + LOGP(DLSS7, LOGL_INFO, "(Re)binding %s Server to %s\n", + proto, buf); + } return osmo_stream_srv_link_open(xs->server); } int osmo_ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host) { + osmo_ss7_xua_server_set_local_hosts(xs, &local_host, 1); + return 0; +} + +int +osmo_ss7_xua_server_set_local_hosts(struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt) +{ + int i = 0; OSMO_ASSERT(ss7_initialized); - osmo_talloc_replace_string(xs, &xs->cfg.local.host, local_host); - osmo_stream_srv_link_set_addr(xs->server, xs->cfg.local.host); + if (local_host_cnt > ARRAY_SIZE(xs->cfg.local.host)) + return -EINVAL; + for (; i < local_host_cnt; i++) + osmo_talloc_replace_string(xs, &xs->cfg.local.host[i], local_hosts[i]); + for (; i < xs->cfg.local.host_cnt; i++) { + talloc_free(xs->cfg.local.host[i]); + xs->cfg.local.host[i] = NULL; + } + + xs->cfg.local.host_cnt = local_host_cnt; + + osmo_stream_srv_link_set_addrs(xs->server, (const char **)xs->cfg.local.host, xs->cfg.local.host_cnt); + + return 0; +} + +int +osmo_ss7_xua_server_add_local_host(struct osmo_xua_server *xs, const char *local_host) +{ + int i; + bool new_is_any = !local_host || !strcmp(local_host, "0.0.0.0"); + bool iter_is_any; + + /* Makes no sense to have INET_ANY and specific addresses in the set */ + for (i = 0; i < xs->cfg.local.host_cnt; i++) { + iter_is_any = !xs->cfg.local.host[i] || + !strcmp(xs->cfg.local.host[i], "0.0.0.0"); + if (new_is_any && iter_is_any) + return -EINVAL; + if (!new_is_any && iter_is_any) + return -EINVAL; + } + /* Makes no sense to have INET_ANY many times */ + if (new_is_any && xs->cfg.local.host_cnt) + return -EINVAL; + + osmo_talloc_replace_string(xs, &xs->cfg.local.host[xs->cfg.local.host_cnt], local_host); + xs->cfg.local.host_cnt++; + + osmo_stream_srv_link_set_addrs(xs->server, (const char **)xs->cfg.local.host, xs->cfg.local.host_cnt); return 0; } diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 85cc695..8169aaf 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -436,6 +436,8 @@ xs = osmo_ss7_xua_server_create(inst, proto, port, NULL); if (!xs) return CMD_SUCCESS; + /* Drop first dummy address created automatically by _create(): */ + osmo_ss7_xua_server_set_local_hosts(xs, NULL, 0); } vty->node = L_CS7_XUA_NODE; @@ -469,7 +471,7 @@ { struct osmo_xua_server *xs = vty->index; - osmo_ss7_xua_server_set_local_host(xs, argv[0]); + osmo_ss7_xua_server_add_local_host(xs, argv[0]); return CMD_SUCCESS; } @@ -492,21 +494,26 @@ static void write_one_xua(struct vty *vty, struct osmo_xua_server *xs) { + int i; vty_out(vty, " listen %s %u%s", get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto), xs->cfg.local.port, VTY_NEWLINE); - if (xs->cfg.local.host) - vty_out(vty, " local-ip %s%s", xs->cfg.local.host, VTY_NEWLINE); + + for (i = 0; i < xs->cfg.local.host_cnt; i++) { + if (xs->cfg.local.host) + vty_out(vty, " local-ip %s%s", xs->cfg.local.host[i], VTY_NEWLINE); + } if (xs->cfg.accept_dyn_reg) vty_out(vty, " accept-asp-connections dynamic-permitted%s", VTY_NEWLINE); } static void vty_dump_xua_server(struct vty *vty, struct osmo_xua_server *xs) { - vty_out(vty, "xUA server for %s on %s:%u%s", - get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto), - xs->cfg.local.host ? xs->cfg.local.host : "0.0.0.0", - xs->cfg.local.port, VTY_NEWLINE); + char buf[512]; + const char *proto = get_value_string(osmo_ss7_asp_protocol_vals, xs->cfg.proto); + if (osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &xs->cfg.local) < 0) + snprintf(buf, sizeof(buf), ""); + vty_out(vty, "xUA server for %s on %s%s", proto, buf, VTY_NEWLINE); } DEFUN(show_cs7_xua, show_cs7_xua_cmd, @@ -604,7 +611,8 @@ "Local IP Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_talloc_replace_string(asp, &asp->cfg.local.host, argv[0]); + osmo_talloc_replace_string(asp, &asp->cfg.local.host[asp->cfg.local.host_cnt], argv[0]); + asp->cfg.local.host_cnt++; return CMD_SUCCESS; } @@ -614,7 +622,8 @@ "Remote IP Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_talloc_replace_string(asp, &asp->cfg.remote.host, argv[0]); + osmo_talloc_replace_string(asp, &asp->cfg.remote.host[asp->cfg.remote.host_cnt], argv[0]); + asp->cfg.remote.host_cnt++; return CMD_SUCCESS; } @@ -652,6 +661,7 @@ { struct osmo_ss7_instance *inst; struct osmo_ss7_asp *asp; + char buf[512]; int id = atoi(argv[0]); inst = osmo_ss7_instance_find(id); @@ -661,21 +671,23 @@ } vty_out(vty, " Effect Primary%s", VTY_NEWLINE); - vty_out(vty, "ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP%s", VTY_NEWLINE); - vty_out(vty, "------------ ------------ ------------- ---- -------- --------------- ----------%s", VTY_NEWLINE); + vty_out(vty, "ASP Name AS Name State Type Remote IP Addr:Rmt Port SCTP%s", VTY_NEWLINE); + vty_out(vty, "------------ ------------ ------------- ---- ----------------------- ----------%s", VTY_NEWLINE); llist_for_each_entry(asp, &inst->asp_list, list) { - vty_out(vty, "%-12s %-12s %-13s %-4s %-8u %-15s %-10s%s", + osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &asp->cfg.remote); + vty_out(vty, "%-12s %-12s %-13s %-4s %-14s %-10s%s", asp->cfg.name, "?", asp->fi? osmo_fsm_inst_state_name(asp->fi) : "uninitialized", get_value_string(osmo_ss7_asp_protocol_vals, asp->cfg.proto), - asp->cfg.remote.port, asp->cfg.remote.host, "", VTY_NEWLINE); + buf, "", VTY_NEWLINE); } return CMD_SUCCESS; } static void write_one_asp(struct vty *vty, struct osmo_ss7_asp *asp) { + int i; /* skip any dynamically created ASPs (e.g. auto-created at connect time) */ if (asp->dyn_allocated || asp->simple_client_allocated) return; @@ -685,10 +697,14 @@ osmo_ss7_asp_protocol_name(asp->cfg.proto), VTY_NEWLINE); if (asp->cfg.description) vty_out(vty, " description %s%s", asp->cfg.description, VTY_NEWLINE); - if (asp->cfg.local.host) - vty_out(vty, " local-ip %s%s", asp->cfg.local.host, VTY_NEWLINE); - if (asp->cfg.remote.host) - vty_out(vty, " remote-ip %s%s", asp->cfg.remote.host, VTY_NEWLINE); + for (i = 0; i < asp->cfg.local.host_cnt; i++) { + if (asp->cfg.local.host) + vty_out(vty, " local-ip %s%s", asp->cfg.local.host[i], VTY_NEWLINE); + } + for (i = 0; i < asp->cfg.remote.host_cnt; i++) { + if (asp->cfg.remote.host) + vty_out(vty, " remote-ip %s%s", asp->cfg.remote.host[i], VTY_NEWLINE); + } if (asp->cfg.qos_class) vty_out(vty, " qos-class %u%s", asp->cfg.qos_class, VTY_NEWLINE); } @@ -1722,6 +1738,9 @@ break; case L_CS7_XUA_NODE: oxs = vty->index; + /* If no local addr was set, or erased after _create(): */ + if (!oxs->cfg.local.host_cnt) + osmo_ss7_xua_server_set_local_host(oxs, NULL); if (osmo_ss7_xua_server_bind(oxs) < 0) vty_out(vty, "%% Unable to bind xUA server to IP(s)%s", VTY_NEWLINE); vty->node = L_CS7_NODE; diff --git a/src/sccp_user.c b/src/sccp_user.c index a1302d9..4e4144e 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -566,16 +566,18 @@ goto out_rt; asp_created = true; - asp->cfg.local.host = NULL; - asp->cfg.remote.host = NULL; + asp->cfg.local.host[0] = NULL; + asp->cfg.remote.host[0] = NULL; if (default_local_ip) { - asp->cfg.local.host = + asp->cfg.local.host[0] = talloc_strdup(asp, default_local_ip); } if (default_remote_ip) { - asp->cfg.remote.host = + asp->cfg.remote.host[0] = talloc_strdup(asp, default_remote_ip); } + asp->cfg.local.host_cnt = 1; + asp->cfg.remote.host_cnt = 1; asp->simple_client_allocated = true; } else talloc_free(asp_name); diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 1aa954a..b502367 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -231,9 +231,9 @@ ss7_asp_vty_test(config-cs7-asp)# local-ip 127.0.0.100 ss7_asp_vty_test(config-cs7-asp)# do show cs7 instance 0 asp Effect Primary -ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------- ------------ ------------- ---- -------- --------------- ---------- -my-asp ? uninitialized m3ua 12345 127.0.0.200 +ASP Name AS Name State Type Remote IP Addr:Rmt Port SCTP +------------ ------------ ------------- ---- ----------------------- ---------- +my-asp ? uninitialized m3ua 127.0.0.200:12345 ss7_asp_vty_test(config-cs7-asp)# exit ss7_asp_vty_test(config-cs7)# as my-ass m3ua @@ -294,25 +294,25 @@ ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 asp Effect Primary -ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------- ------------ ------------- ---- -------- --------------- ---------- -my-asp ? ASP_DOWN m3ua 12345 127.0.0.200 +ASP Name AS Name State Type Remote IP Addr:Rmt Port SCTP +------------ ------------ ------------- ---- ----------------------- ---------- +my-asp ? ASP_DOWN m3ua 127.0.0.200:12345 ss7_asp_vty_test(config-cs7-as)# exit ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 asp Effect Primary -ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------- ------------ ------------- ---- -------- --------------- ---------- -my-asp ? ASP_DOWN m3ua 12345 127.0.0.200 +ASP Name AS Name State Type Remote IP Addr:Rmt Port SCTP +------------ ------------ ------------- ---- ----------------------- ---------- +my-asp ? ASP_DOWN m3ua 127.0.0.200:12345 ss7_asp_vty_test(config-cs7)# exit ss7_asp_vty_test(config)# do show cs7 instance 0 asp Effect Primary -ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------- ------------ ------------- ---- -------- --------------- ---------- -my-asp ? ASP_DOWN m3ua 12345 127.0.0.200 +ASP Name AS Name State Type Remote IP Addr:Rmt Port SCTP +------------ ------------ ------------- ---- ----------------------- ---------- +my-asp ? ASP_DOWN m3ua 127.0.0.200:12345 ss7_asp_vty_test(config)# do show cs7 instance 0 as all Routing Routing Key Cic Cic @@ -352,8 +352,8 @@ ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 asp Effect Primary -ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------- ------------ ------------- ---- -------- --------------- ---------- +ASP Name AS Name State Type Remote IP Addr:Rmt Port SCTP +------------ ------------ ------------- ---- ----------------------- ---------- ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 as all Routing Routing Key Cic Cic -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de Gerrit-Change-Number: 15785 Gerrit-PatchSet: 5 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 Tue Oct 22 19:38:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:54 +0000 Subject: Change in libosmo-sccp[master]: ss7: Log local and remote address set upon ASP restart In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 ) Change subject: ss7: Log local and remote address set upon ASP restart ...................................................................... ss7: Log local and remote address set upon ASP restart Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 --- M src/osmo_ss7.c 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index a0b931e..e7e688d 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -465,7 +465,7 @@ * \param[in] inst SS7 instance for which we register the user * \param[in] service_ind Service (ISUP, SCCP, ...) * \param[in] user (optional) SS7 user. If present, we will not - * unregister other users + * unregister other users * \returns 0 on success; negative on error */ int osmo_ss7_user_unregister(struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user) @@ -1277,9 +1277,13 @@ { int rc; enum xua_asp_role role; + char bufloc[512], bufrem[512]; OSMO_ASSERT(ss7_initialized); - LOGPASP(asp, DLSS7, LOGL_INFO, "Restarting ASP\n"); + osmo_ss7_asp_peer_snprintf(bufloc, sizeof(bufloc), &asp->cfg.local); + osmo_ss7_asp_peer_snprintf(bufrem, sizeof(bufrem), &asp->cfg.remote); + LOGPASP(asp, DLSS7, LOGL_INFO, "Restarting ASP %s, %s ==> %s\n", + asp->cfg.name, bufloc, bufrem); if (!asp->cfg.is_server) { /* We are in client mode now */ @@ -1312,7 +1316,7 @@ rc = osmo_stream_cli_open(asp->client); if (rc < 0) { LOGPASP(asp, DLSS7, LOGL_ERROR, "Unable to open stream" - " client for ASP %s\n", asp->cfg.name); + " client for ASP %s, %s ==> %s\n", asp->cfg.name, bufloc, bufrem); /* we don't return error in here because osmo_stream_cli_open() will continue to retry (due to timeout being explicitly set with osmo_stream_cli_set_reconnect_timeout() above) to connect so the error is transient */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I35c2581923ed3e1f7aff6c137ddf356882bac621 Gerrit-Change-Number: 15786 Gerrit-PatchSet: 5 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 Tue Oct 22 19:38:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:55 +0000 Subject: Change in libosmo-sccp[master]: tests: Introduce test for multi-homing STP features In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 ) Change subject: tests: Introduce test for multi-homing STP features ...................................................................... tests: Introduce test for multi-homing STP features Config file sets omo-stp instance to bind on 2 IP addresses, and then the test verfies through linux /proc/net/sctp/* that binding is done correctly and that it can be reached from another remote address to one of the configured addresses. Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 --- M Makefile.am M doc/examples/Makefile.am A doc/examples/osmo-stp-multihome.cfg M tests/vty/Makefile.am A tests/vty/vty_test_runner.py 5 files changed, 211 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile.am b/Makefile.am index a3f76ab..ac68fcc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-sccp.pc libosmo-mtp.pc libosmo-sigtran.pc libosmo-xua.pc -EXTRA_DIST = .version git-version-gen osmoappdesc.py doc/examples/osmo-stp.cfg +EXTRA_DIST = .version git-version-gen osmoappdesc.py AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index a8e9991..ed92f24 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,7 +1,7 @@ examples_stpdir = $(docdir)/examples/osmo-stp -examples_stp_DATA = osmo-stp.cfg +examples_stp_DATA = osmo-stp.cfg osmo-stp-multihome.cfg osmoconfdir = $(sysconfdir)/osmocom osmoconf_DATA = osmo-stp.cfg -EXTRA_DIST = osmo-stp.cfg +EXTRA_DIST = osmo-stp.cfg osmo-stp-multihome.cfg diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg new file mode 100644 index 0000000..dcdc19e --- /dev/null +++ b/doc/examples/osmo-stp-multihome.cfg @@ -0,0 +1,22 @@ +! +! osmo-stp (0.0.6.3.179-b248) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug +line vty + no login +! +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + listen m3ua 2905 + accept-asp-connections dynamic-permitted + local-ip 127.0.0.2 + local-ip 127.0.0.1 diff --git a/tests/vty/Makefile.am b/tests/vty/Makefile.am index 28e9dc2..be67293 100644 --- a/tests/vty/Makefile.am +++ b/tests/vty/Makefile.am @@ -5,7 +5,10 @@ LDADD = $(top_builddir)/src/libosmo-sigtran.la \ $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMONETIF_LIBS) $(LIBSCTP_LIBS) -EXTRA_DIST = ss7_asp_test.vty +EXTRA_DIST = \ + ss7_asp_test.vty \ + vty_test_runner.py \ + $(NULL) noinst_PROGRAMS = ss7_asp_vty_test @@ -19,14 +22,22 @@ echo "Not running python-based external tests (determined at configure-time)" endif +vty-python-test: $(BUILT_SOURCES) + $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v + # To update the VTY script from current application behavior, # pass -u to osmo_verify_transcript_vty.py by doing: # make vty-test U=-u -vty-test: ss7_asp_vty_test +vty-transcript-test: ss7_asp_vty_test osmo_verify_transcript_vty.py -v \ -p 42043 \ -r "$(builddir)/ss7_asp_vty_test" \ $(U) $(srcdir)/ss7_asp_*.vty +# don't run multiple tests concurrently so that the ports don't conflict +vty-test: + $(MAKE) vty-python-test + $(MAKE) vty-transcript-test + check-local: $(MAKE) $(AM_MAKEFLAGS) ext-tests diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py new file mode 100755 index 0000000..47ce23c --- /dev/null +++ b/tests/vty/vty_test_runner.py @@ -0,0 +1,173 @@ +#!/usr/bin/env python2 + +# (C) 2013 by Katerina Barone-Adesi +# (C) 2013 by Holger Hans Peter Freyther +# (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 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 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, sys +import time +import unittest +import socket +import subprocess +import time + +import osmopy.obscvty as obscvty +import osmopy.osmoutil as osmoutil +from osmopy.osmo_ipa import IPA + +# to be able to find $top_srcdir/doc/... +confpath = os.path.join(sys.path[0], '..') + +class TestVTYBase(unittest.TestCase): + + def checkForEndAndExit(self): + res = self.vty.command("list") + #print ('looking for "exit"\n') + self.assert_(res.find(' exit\r') > 0) + #print 'found "exit"\nlooking for "end"\n' + self.assert_(res.find(' end\r') > 0) + #print 'found "end"\n' + + def vty_command(self): + raise Exception("Needs to be implemented by a subclass") + + def vty_app(self): + raise Exception("Needs to be implemented by a subclass") + + def setUp(self): + osmo_vty_cmd = self.vty_command()[:] + config_index = osmo_vty_cmd.index('-c') + if config_index: + cfi = config_index + 1 + osmo_vty_cmd[cfi] = os.path.join(confpath, osmo_vty_cmd[cfi]) + + try: + self.proc = osmoutil.popen_devnull(osmo_vty_cmd) + except OSError: + print >> sys.stderr, "Current directory: %s" % os.getcwd() + print >> sys.stderr, "Consider setting -b" + + appstring = self.vty_app()[2] + appport = self.vty_app()[0] + self.vty = obscvty.VTYInteract(appstring, "127.0.0.1", appport) + + def tearDown(self): + if self.vty: + self.vty._close_socket() + self.vty = None + osmoutil.end_proc(self.proc) + +class TestVTYSTP(TestVTYBase): + + def vty_command(self): + return ["./stp/osmo-stp", "-c", + "../doc/examples/osmo-stp-multihome.cfg"] + + def vty_app(self): + return (4239, "./stp/osmo-stp", "OsmoSTP", "stp") + + def check_sctp_sock_local(self, laddr_list, lport): + path = "/proc/net/sctp/eps" + try: + with open(path, "r") as fp: + #drop first line, contains column names: + fp.readline() + while True: + # Read next line + line = fp.readline().strip() + if not line: + return False + print "%s: parsing line: %s" %(path, line) + it = line.split() + if lport == int(it[5]): + print "%s: local port %d found" %(path, lport) + itaddr_list = it[8:] + if len(itaddr_list) != len(laddr_list): + print "%s: addr list mismatch: %r vs %r" % (path, repr(itaddr_list), repr(laddr_list)) + continue + for addr in laddr_list: + if addr not in itaddr_list: + print "%s: addr not found in list: %s vs %r" % (path, addr, repr(itaddr_list)) + return False + return True + return False + except IOError as e: + print "I/O error({0}): {1}".format(e.errno, e.strerror) + return False + + def testMultiHome(self): + # first check if STP is listening in required addresses: + found = False + for i in range(5): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): + found = True + break + else: + print "[%d] osmo-stp not yet available, retrying in a second" % i + time.sleep(1) + self.assert_(found) + try: + proto = socket.IPPROTO_SCTP + except AttributeError: # it seems to be not defined under python2? + proto = 132 + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) + s.bind(('127.0.0.3', 0)) + try: + s.connect(('127.0.0.2',2905)) + except socket.error as msg: + s.close() + self.assert_(False) + print "Connected to STP through SCTP" + s.close() + +if __name__ == '__main__': + import argparse + import sys + + workdir = '.' + + parser = argparse.ArgumentParser() + parser.add_argument("-v", "--verbose", dest="verbose", + action="store_true", help="verbose mode") + parser.add_argument("-p", "--pythonconfpath", dest="p", + help="searchpath for config") + parser.add_argument("-w", "--workdir", dest="w", + help="Working directory") + parser.add_argument("test_name", nargs="*", help="(parts of) test names to run, case-insensitive") + args = parser.parse_args() + + verbose_level = 1 + if args.verbose: + verbose_level = 2 + + if args.w: + workdir = args.w + + if args.p: + confpath = args.p + + print "confpath %s, workdir %s" % (confpath, workdir) + os.chdir(workdir) + print "Running tests for specific VTY commands" + suite = unittest.TestSuite() + suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestVTYSTP)) + + if args.test_name: + osmoutil.pick_tests(suite, *args.test_name) + + res = unittest.TextTestRunner(verbosity=verbose_level, stream=sys.stdout).run(suite) + sys.exit(len(res.errors) + len(res.failures)) + +# vim: shiftwidth=4 expandtab nocin ai -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifa11b1fc882dff415405f62024e94bed67228866 Gerrit-Change-Number: 15797 Gerrit-PatchSet: 4 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 Tue Oct 22 19:38:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:38:55 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: ss7: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 ) Change subject: cosmetic: ss7: Fix trailing whitespace ...................................................................... cosmetic: ss7: Fix trailing whitespace Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b --- M src/xua_as_fsm.c M src/xua_default_lm_fsm.c M src/xua_rkm.c 3 files changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/xua_as_fsm.c b/src/xua_as_fsm.c index 5757d63..541e52c 100644 --- a/src/xua_as_fsm.c +++ b/src/xua_as_fsm.c @@ -1,6 +1,6 @@ /* SCCP M3UA / SUA AS osmo_fsm according to RFC3868 4.3.1 / RFC4666 4.3.2 */ /* (C) Copyright 2017 by Harald Welte - * + * * All Rights reserved. * * SPDX-License-Identifier: GPL-2.0+ diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c index 11a97a2..880f89c 100644 --- a/src/xua_default_lm_fsm.c +++ b/src/xua_default_lm_fsm.c @@ -21,7 +21,7 @@ /* The idea of this default Layer Manager is as follows: * - we wait until a SCTP connection is established * - we issue the ASP-UP request and wait for the ASP being in UP state - * - we wait if we receive a M-NOTIFY indication about any AS in this ASP + * - we wait if we receive a M-NOTIFY indication about any AS in this ASP * - if that's not received, we use RKM to register a routing context * for our locally configured ASP and expect a positive registration * result as well as a NOTIFY indication about AS-ACTIVE afterwards. diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 4b760ee..f1ac551 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -207,7 +207,7 @@ * is a slightly non-standard interpretation of M3UA RKM * which requires the SG to not have a-priori-knowledge of * all AS/RK in situations where the ASP are trusted. - */ + */ /* check if there is already an AS for this routing key */ as = osmo_ss7_as_find_by_rctx(asp->inst, rctx); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifd947c51067842b83ea43ce25ba0d652baff259b Gerrit-Change-Number: 15800 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 Tue Oct 22 19:52:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:52:59 +0000 Subject: Change in libosmo-sccp[master]: Log correct protocol during xua_accept_cb() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15830 ) Change subject: Log correct protocol during xua_accept_cb() ...................................................................... Log correct protocol during xua_accept_cb() This function is used for both actual SIGTRAN (M3UA, SUA over SCTP) as well as for IPA/SCCPLITE (over TCP). Having a static "SCTP" string in the log lines is confusing. Change-Id: Ic34ddbcd528cd871d9772665e1d0863896f33203 --- M src/osmo_ss7.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/30/15830/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index e7e688d..e4b28d1 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1706,9 +1706,9 @@ struct osmo_stream_srv *srv; struct osmo_ss7_asp *asp; char *sock_name = osmo_sock_get_name(link, fd); + const char *proto_name = get_value_string(osmo_ss7_asp_protocol_vals, oxs->cfg.proto); - LOGP(DLSS7, LOGL_INFO, "%s: New %s connection accepted\n", - sock_name, get_value_string(osmo_ss7_asp_protocol_vals, oxs->cfg.proto)); + LOGP(DLSS7, LOGL_INFO, "%s: New %s connection accepted\n", sock_name, proto_name); if (oxs->cfg.proto == OSMO_SS7_ASP_PROT_IPA) { srv = osmo_stream_srv_create(oxs, link, fd, @@ -1733,9 +1733,9 @@ sock_name, asp->cfg.name); } else { if (!oxs->cfg.accept_dyn_reg) { - LOGP(DLSS7, LOGL_NOTICE, "%s: SCTP connection without matching " + LOGP(DLSS7, LOGL_NOTICE, "%s: %s connection without matching " "ASP definition and no dynamic registration enabled, terminating\n", - sock_name); + sock_name, proto_name); } else { char namebuf[32]; static uint32_t dyn_asp_num = 0; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic34ddbcd528cd871d9772665e1d0863896f33203 Gerrit-Change-Number: 15830 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 Tue Oct 22 19:52:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:52:59 +0000 Subject: Change in libosmo-sccp[master]: xua_rkm: Print NOTICE log message if registration for wrong rctx References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15831 ) Change subject: xua_rkm: Print NOTICE log message if registration for wrong rctx ...................................................................... xua_rkm: Print NOTICE log message if registration for wrong rctx Change-Id: Ifb70940e9edfad8c99473ec724dc52f5885561de --- M src/xua_rkm.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/31/15831/1 diff --git a/src/xua_rkm.c b/src/xua_rkm.c index f1ac551..976d649 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -258,6 +258,8 @@ newly_assigned_as[(*nas_idx)++] = as; } else { /* not permitted to create dynamic RKM entries */ + LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: RCTX %u not found in configuration, and " + "dynamic RKM allocation not permitted; permission denied\n", rctx); msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_PERM_DENIED, 0); return -1; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifb70940e9edfad8c99473ec724dc52f5885561de Gerrit-Change-Number: 15831 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 Tue Oct 22 19:52:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 22 Oct 2019 19:52:59 +0000 Subject: Change in libosmo-sccp[master]: xua_rkm: Don't permit de-registration of rctx with ASP active References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15832 ) Change subject: xua_rkm: Don't permit de-registration of rctx with ASP active ...................................................................... xua_rkm: Don't permit de-registration of rctx with ASP active Change-Id: Ie47eb205b397f3d2ce94c4ec3531664ed290a819 Closes: OS#4238 --- M src/xua_rkm.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/32/15832/1 diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 976d649..2d8a25e 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -30,6 +30,7 @@ #include "xua_internal.h" #include "xua_as_fsm.h" +#include "xua_asp_fsm.h" const struct value_string m3ua_rkm_reg_status_vals[] = { { M3UA_RKM_REG_SUCCESS, "SUCCESS" }, @@ -338,7 +339,11 @@ return -1; } - /* FIXME Reject if any ASP stillactively using this RCTX */ + /* Reject if ASP is still active */ + if (asp->fi->state == XUA_ASP_S_ACTIVE) { + msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_ASP_ACTIVE, 0); + return -1; + } rt = osmo_ss7_route_find_dpc(inst->rtable_system, as->cfg.routing_key.pc); if (!rt) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie47eb205b397f3d2ce94c4ec3531664ed290a819 Gerrit-Change-Number: 15832 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 Oct 23 01:41:51 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:41:51 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... fsm: add osmo_fsm_set_term_stops_actions() Add optional feature to refuse state changes and event dispatch for FSM instances that are already terminating. Enabling this behavior requires osmo_fsm_set_term_stops_actions(true). The default is 'false', which behaves as before this patch, where all events are still dispatched and osmo_fsm_inst_state_chg()es are carried out. Rationale: Where multiple FSM instances are collaborating (like in osmo-bsc or osmo-msc), a terminating FSM instance often causes events to be dispatched back to itself, or causes state changes in FSM instances that are already terminating. That is hard to avoid, since each FSM instance could be a cause of failure, and wants to notify all the others of that, which in turn often choose to terminate. Another use case: any function that dispatches events or state changes to more than one FSM instance must be sure that after the first event dispatch, the second FSM instance is in fact still allocated. Furthermore, if the second FSM instance *has* terminated from the first dispatch, this often means that no more actions should be taken. That could be done by an explicit check for fsm->proc.terminating, but a more general solution is to do this check internally in fsm.c. In practice, I need this to avoid a crash in libosmo-mgcp-client, when an on_success() event dispatch causes the MGCP endpoint FSM to deallocate. The earlier dealloc-in-main-loop patch fixed part of it, but not all. Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a --- M include/osmocom/core/fsm.h M src/fsm.c 2 files changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/33/15833/1 diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 269befa..8a1999f 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -123,6 +123,7 @@ void osmo_fsm_log_timeouts(bool log_timeouts); void osmo_fsm_term_safely(bool term_safely); void osmo_fsm_set_dealloc_ctx(void *ctx); +void osmo_fsm_set_term_stops_actions(bool term_stops_actions); /*! Log using FSM instance's context, on explicit logging subsystem and level. * \param fi An osmo_fsm_inst. diff --git a/src/fsm.c b/src/fsm.c index 6aad37a..9c83647 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -104,6 +104,8 @@ void *collect_ctx; /*! See osmo_fsm_set_dealloc_ctx() */ void *fsm_dealloc_ctx; + /*! If true, refuse events and state changes on terminating FSM instances. */ + bool term_stops_actions; } fsm_term_safely; /*! Internal call to free an FSM instance, which redirects to the context set by osmo_fsm_set_dealloc_ctx() if any. @@ -200,6 +202,27 @@ fsm_term_safely.fsm_dealloc_ctx = ctx; } +/*! For FSM instances that are terminating or already terminated, refuse to dispatch events or make state changes. + * + * Where multiple FSM instances are collaborating, a terminating FSM instance often causes events to be dispatched back + * to itself, or causes state changes in FSM instances that are already terminating. That is hard to avoid when each FSM + * instance could be a cause of failure, and wants to notify others, which in turn may choose to terminate. + * + * Another use case: any function that dispatches events or state changes to more than one FSM instance must be sure + * that after the first event dispatch, the second FSM instance is in fact still allocated. Furthermore, if the second + * FSM instance *has* terminated from the first dispatch, this often means that no more actions should be taken. That + * could be done by an explicit check for fsm->proc.terminating, but a more general solution is to do enable this check + * internally in fsm.c, with this function. + * + * The default behavior to still dispatch events and state changes is kept for legacy reasons. + * + * \param[in] term_stops_actions If true, refuse actions on terminated FSM instances. + */ +void osmo_fsm_set_term_stops_actions(bool term_stops_actions) +{ + fsm_term_safely.term_stops_actions = term_stops_actions; +} + /*! talloc_free() the given object immediately, or once ongoing FSM terminations are done. * * If an FSM deallocation cascade is ongoing, talloc_steal() the given talloc_object into the talloc context that is @@ -630,6 +653,13 @@ const struct osmo_fsm_state *st = &fsm->states[fi->state]; struct timeval remaining; + if (fsm_term_safely.term_stops_actions && fi->proc.terminating) { + LOGPFSMSRC(fi, file, line, + "FSM instance already terminating, not changing state to %s\n", + osmo_fsm_state_name(fsm, new_state)); + return -EINVAL; + } + /* validate if new_state is a valid state */ if (!(st->out_state_mask & (1 << new_state))) { LOGPFSMLSRC(fi, LOGL_ERROR, file, line, @@ -840,6 +870,14 @@ } fsm = fi->fsm; + + if (fsm_term_safely.term_stops_actions && fi->proc.terminating) { + LOGPFSMSRC(fi, file, line, + "FSM instance already terminating, not dispatching event %s\n", + osmo_fsm_event_name(fsm, event)); + return -EINVAL; + } + OSMO_ASSERT(fi->state < fsm->num_states); fs = &fi->fsm->states[fi->state]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 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 Oct 23 01:41:52 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:41:52 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: enable term_stops_actions References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15834 ) Change subject: fsm_dealloc_test: enable term_stops_actions ...................................................................... fsm_dealloc_test: enable term_stops_actions Test the osmo_fsm_set_term_stops_actions() feature in fsm_dealloc_test.c, which shortens deallocation logging. Change-Id: Iff7843e12ce49f169f8c36b14fdb19935f61274d --- M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err 2 files changed, 294 insertions(+), 1,996 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/34/15834/1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iff7843e12ce49f169f8c36b14fdb19935f61274d Gerrit-Change-Number: 15834 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 Oct 23 01:42:08 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:42:08 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str_is_nonzero() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15835 ) Change subject: add osmo_sockaddr_str_is_nonzero() ...................................................................... add osmo_sockaddr_str_is_nonzero() Often, an IP address of 0.0.0.0 is considered an unset value (for clients requiring a server address; not for listening on "any"). osmo_sockaddr_str_is_set() does return false when the port is 0, but there is no simple way to tell whether the IP address is actually set to a server address. Add osmo_sockaddr_str_is_nonzero() to return false if: - the port is zero, or - the IP address is zero (0.0.0.0 or ::0), or - the IP address cannot be parsed. Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 --- M include/osmocom/core/sockaddr_str.h M src/sockaddr_str.c M tests/sockaddr_str/sockaddr_str_test.c M tests/sockaddr_str/sockaddr_str_test.ok 4 files changed, 87 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/15835/1 diff --git a/include/osmocom/core/sockaddr_str.h b/include/osmocom/core/sockaddr_str.h index d16dc86..d47b2a4 100644 --- a/include/osmocom/core/sockaddr_str.h +++ b/include/osmocom/core/sockaddr_str.h @@ -65,6 +65,7 @@ #define OSMO_SOCKADDR_STR_FMT_ARGS(R) ((R)? (R)->ip : "NULL"), ((R)? (R)->port : 0) bool osmo_sockaddr_str_is_set(const struct osmo_sockaddr_str *sockaddr_str); +bool osmo_sockaddr_str_is_nonzero(const struct osmo_sockaddr_str *sockaddr_str); int osmo_sockaddr_str_from_str(struct osmo_sockaddr_str *sockaddr_str, const char *ip, uint16_t port); diff --git a/src/sockaddr_str.c b/src/sockaddr_str.c index d683c7d..f523050 100644 --- a/src/sockaddr_str.c +++ b/src/sockaddr_str.c @@ -66,6 +66,35 @@ && (sockaddr_str->af == AF_INET || sockaddr_str->af == AF_INET6); } +/*! Return true if IP and port are valid and nonzero. + * \param[in] sockaddr_str The instance to examine. + * \return True iff ip can be converted to a nonzero IP address, and port is not 0. + */ +bool osmo_sockaddr_str_is_nonzero(const struct osmo_sockaddr_str *sockaddr_str) +{ + uint32_t ipv4; + struct in6_addr ipv6_zero = {}; + struct in6_addr ipv6; + + if (!osmo_sockaddr_str_is_set(sockaddr_str)) + return false; + + switch (sockaddr_str->af) { + case AF_INET: + if (osmo_sockaddr_str_to_32(sockaddr_str, &ipv4)) + return false; + return ipv4 != 0; + + case AF_INET6: + if (osmo_sockaddr_str_to_in6_addr(sockaddr_str, &ipv6)) + return false; + return memcmp(&ipv6, &ipv6_zero, sizeof(ipv6)) != 0; + + default: + return false; + } +} + /*! Distinguish between valid IPv4 and IPv6 strings. * This does not verify whether the string is a valid IP address; it assumes that the input is a valid IP address, and * on that premise returns whether it is an IPv4 or IPv6 string, by looking for '.' and ':' characters. It is safe to diff --git a/tests/sockaddr_str/sockaddr_str_test.c b/tests/sockaddr_str/sockaddr_str_test.c index d2e7944..4284387 100644 --- a/tests/sockaddr_str/sockaddr_str_test.c +++ b/tests/sockaddr_str/sockaddr_str_test.c @@ -53,6 +53,8 @@ { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }, { .af = AF_INET, .ip = "1.2.3:4:5", .port = 0 }, { .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 }, + { .af = AF_INET, .ip = "0.0.0.0", .port = 5 }, + { .af = AF_INET6, .ip = "::", .port = 5 }, }; const char *af_name(int af) @@ -106,6 +108,7 @@ dump_oip(x); printf(" osmo_sockaddr_str_is_set() = %s\n", osmo_sockaddr_str_is_set(x) ? "true" : "false"); + printf(" osmo_sockaddr_str_is_nonzero() = %s\n", osmo_sockaddr_str_is_nonzero(x) ? "true" : "false"); { struct in_addr a = {}; diff --git a/tests/sockaddr_str/sockaddr_str_test.ok b/tests/sockaddr_str/sockaddr_str_test.ok index d69314d..781e9d1 100644 --- a/tests/sockaddr_str/sockaddr_str_test.ok +++ b/tests/sockaddr_str/sockaddr_str_test.ok @@ -2,6 +2,7 @@ { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = true osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=01020304 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 @@ -19,6 +20,7 @@ { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=00000000 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 @@ -36,6 +38,7 @@ { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = true osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=ffffffff -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 @@ -53,6 +56,7 @@ { .af = AF_INET, .ip = "0.0.0.256", .port = 1 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -65,6 +69,7 @@ { .af = AF_INET, .ip = "not an ip address", .port = 1 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -77,6 +82,7 @@ { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = true osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00010002000300000000000000000004 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } @@ -92,6 +98,7 @@ { .af = AF_INET6, .ip = "::", .port = 0 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000000 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 } @@ -107,6 +114,7 @@ { .af = AF_INET6, .ip = "::1", .port = 0 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000001 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 } @@ -122,6 +130,7 @@ { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = true osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=ffffffffffffffffffffffffffffffff -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } @@ -137,6 +146,7 @@ { .af = AF_INET6, .ip = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", .port = 65535 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = true osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=ffffffffffffffffffffffffffffffff -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } @@ -155,6 +165,7 @@ { .af = AF_INET6, .ip = "::fffff", .port = 1 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -167,6 +178,7 @@ { .af = AF_INET6, .ip = "not an ip address", .port = 1 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -179,6 +191,7 @@ { .af = AF_INET6, .ip = "1.2.3.4", .port = 5 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -192,6 +205,7 @@ { .af = AF_INET, .ip = "1:2:3::4", .port = 5 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -205,6 +219,7 @@ { .af = AF_UNSPEC, .ip = "1.2.3.4", .port = 5 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -218,6 +233,7 @@ { .af = AF_INET, .ip = "", .port = 5 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -230,6 +246,7 @@ { .af = AF_INET6, .ip = "", .port = 5 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -242,6 +259,7 @@ { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=01020304 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 @@ -259,6 +277,7 @@ { .af = AF_INET, .ip = "1.2.3:4:5", .port = 0 } osmo_sockaddr_str_is_set() = false + osmo_sockaddr_str_is_nonzero() = false osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 @@ -272,6 +291,7 @@ { .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 } osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = true osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=0000000000000000000000010a090807 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 } @@ -286,3 +306,37 @@ -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 } DIFFERS! osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 } + + +{ .af = AF_INET, .ip = "0.0.0.0", .port = 5 } + osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false + osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=00000000 + -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 } + osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x0 + -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 } + osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x0 + -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 } + osmo_sockaddr_str_to_sockaddr_in() rc == 0 sockaddr_in=02000005000000000000000000000000 + -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 } + osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 } + osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 } + + +{ .af = AF_INET6, .ip = "::", .port = 5 } + osmo_sockaddr_str_is_set() = true + osmo_sockaddr_str_is_nonzero() = false + osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000 + osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000000 + -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 } + osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0 + osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0 + osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000005000000000000000000000000000000000000000000000000 + -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 } + osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 } + osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 Gerrit-Change-Number: 15835 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 Oct 23 01:42:42 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:42:42 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 23 Oct 2019 01:42: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 Wed Oct 23 01:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:49:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm cleanup: Do not assert on DLCX failure References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15836 ) Change subject: mgcp_client_fsm cleanup: Do not assert on DLCX failure ...................................................................... mgcp_client_fsm cleanup: Do not assert on DLCX failure During FSM instance cleanup, a DLCX message composition may fail if a preceding received MGCP message was missing parameters. If that occurs, don't crash, just log an error and deallocate. Change-Id: Ic1c3c4deeb4703b60e870af9d5d7be216a87fff8 --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/36/15836/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index e83a119..7565d32 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -525,8 +525,10 @@ LOGPFSML(fi, LOGL_ERROR, "MGW/DLCX: abrupt FSM termination with connections still present, sending unconditional DLCX...\n"); msg = make_dlcx_msg(mgcp_ctx); - OSMO_ASSERT(msg); - mgcp_client_tx(mgcp, msg, NULL, NULL); + if (!msg) + LOGPFSML(fi, LOGL_ERROR, "MGW/DLCX: Error composing DLCX message\n"); + else + mgcp_client_tx(mgcp, msg, NULL, NULL); } talloc_free(mgcp_ctx); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic1c3c4deeb4703b60e870af9d5d7be216a87fff8 Gerrit-Change-Number: 15836 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 Oct 23 01:49:02 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:49:02 +0000 Subject: Change in osmo-mgw[master]: endpoint FSM: allow cancelling a notify event References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15838 ) Change subject: endpoint FSM: allow cancelling a notify event ...................................................................... endpoint FSM: allow cancelling a notify event There is a use-after-free problem if a 'notify' FSM as passed to osmo_mgcpc_ep_ci_request() deallocates before the notify event has been dispatched. To avoid that, add API to allow cancelling a notify. Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 82 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/38/15838/1 diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index d77371a..736da22 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -29,6 +29,9 @@ uint32_t event_success, uint32_t event_failure, void *notify_data); +void osmo_mgcpc_ep_cancel_notify(struct osmo_mgcpc_ep *ep, struct osmo_fsm_inst *notify); +struct osmo_mgcpc_ep *osmo_mgcpc_ep_ci_ep(struct osmo_mgcpc_ep_ci *ci); + /*! Dispatch a DLCX for the given connection. * \param ci Connection identifier as obtained from osmo_mgcpc_ep_ci_add(). */ diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 3ea1492..2259788 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -73,6 +73,14 @@ static struct osmo_fsm osmo_mgcpc_ep_fsm; +struct fsm_notify { + struct llist_head entry; + struct osmo_fsm_inst *fi; + uint32_t success; + uint32_t failure; + void *data; +}; + /*! One connection on an endpoint, corresponding to a connection identifier (CI) as returned by the MGW. * An endpoint has a fixed number of slots of these, which may or may not be in use. */ @@ -87,10 +95,7 @@ bool sent; enum mgcp_verb verb; struct mgcp_conn_peer verb_info; - struct osmo_fsm_inst *notify; - uint32_t notify_success; - uint32_t notify_failure; - void *notify_data; + struct fsm_notify notify; bool got_port_info; struct mgcp_conn_peer rtp_info; @@ -118,6 +123,10 @@ /*! Endpoint connection slots. Note that each connection has its own set of FSM event numbers to signal success * and failure, depending on its index within this array. See CI_EV_SUCCESS and CI_EV_FAILURE. */ struct osmo_mgcpc_ep_ci ci[USABLE_CI]; + + /*! Internal use: if a function keeps an fsm_notify for later dispatch while already clearing or re-using the + * ci[], the fsm_notify should be kept here to also get canceled by osmo_mgcpc_ep_cancel_notify(). */ + struct llist_head background_notify; }; const struct value_string osmo_mgcp_verb_names[] = { @@ -296,6 +305,7 @@ .fi = fi, .T_defs = T_defs, }; + INIT_LLIST_HEAD(&ep->background_notify); fi->priv = ep; va_start(ap, endpoint_str_fmt); @@ -354,15 +364,20 @@ static void on_failure(struct osmo_mgcpc_ep_ci *ci) { - struct osmo_fsm_inst *notify = ci->notify; - uint32_t notify_failure = ci->notify_failure; - void *notify_data = ci->notify_data; struct osmo_mgcpc_ep *ep = ci->ep; + struct fsm_notify notify; int i; if (!ci->occupied) return; + /* When dispatching an event for this CI, the user may decide to trigger the next request for this conn right + * away. So we must be ready with a cleared *ci. Store the notify separately and clear before dispatching. */ + notify = ci->notify; + /* Register the planned notification in ep->background_notify so we also catch any osmo_mgcpc_ep_cancel_notify() + * that might be triggered between clearing the ci and actually dispatching the event. */ + llist_add(¬ify.entry, &ep->background_notify); + *ci = (struct osmo_mgcpc_ep_ci){ .ep = ci->ep, }; @@ -387,11 +402,15 @@ /* If this check has terminated the FSM instance, don't fire any more events to prevent use-after-free problems. * The endpoint FSM does dispatch a term event to its parent, and everything should be cleaned like that. */ - if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi)) + if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ep->fi)) { + /* The ep has deallocated, no need to llist_del(¬ify.entry) here. */ return; + } - if (notify) - osmo_fsm_inst_dispatch(notify, notify_failure, notify_data); + if (notify.fi) + osmo_fsm_inst_dispatch(notify.fi, notify.failure, notify.data); + + llist_del(¬ify.entry); } static int update_endpoint_name(struct osmo_mgcpc_ep_ci *ci, const char *new_endpoint_name) @@ -472,10 +491,10 @@ LOG_CI(ci, LOGL_DEBUG, "received successful response to %s: RTP=%s%s\n", osmo_mgcp_verb_name(ci->verb), mgcp_conn_peer_name(ci->got_port_info? &ci->rtp_info : NULL), - ci->notify ? "" : " (not sending a notification)"); + ci->notify.fi ? "" : " (not sending a notification)"); - if (ci->notify) - osmo_fsm_inst_dispatch(ci->notify, ci->notify_success, ci->notify_data); + if (ci->notify.fi) + osmo_fsm_inst_dispatch(ci->notify.fi, ci->notify.success, ci->notify.data); osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi); } @@ -536,6 +555,11 @@ ((struct osmo_mgcpc_ep*)fi->priv)->T_defs, 5) /*! Dispatch an actual CRCX/MDCX/DLCX message for this connection. + * + * If the 'notify' instance deallocates before it received a notification of event_success or event_failure, + * osmo_mgcpc_ep_ci_cancel_notify() or osmo_mgcpc_ep_cancel_notify() must be called. It is not harmful to cancel + * notification after an event has been received. + * * \param ci Connection identifier as obtained from osmo_mgcpc_ep_ci_add(). * \param verb MGCP operation to dispatch. * \param verb_info Parameters for the MGCP operation. @@ -584,16 +608,18 @@ .occupied = true, /* .pending = true follows below */ .verb = verb, - .notify = notify, - .notify_success = event_success, - .notify_failure = event_failure, - .notify_data = notify_data, + .notify = { + .fi = notify, + .success = event_success, + .failure = event_failure, + .data = notify_data, + } }; osmo_strlcpy(cleared_ci.label, ci->label, sizeof(cleared_ci.label)); osmo_strlcpy(cleared_ci.mgcp_ci_str, ci->mgcp_ci_str, sizeof(cleared_ci.mgcp_ci_str)); *ci = cleared_ci; - LOG_CI_VERB(ci, LOGL_DEBUG, "notify=%s\n", osmo_fsm_inst_name(ci->notify)); + LOG_CI_VERB(ci, LOGL_DEBUG, "notify=%s\n", osmo_fsm_inst_name(ci->notify.fi)); if (verb_info) ci->verb_info = *verb_info; @@ -651,10 +677,39 @@ osmo_fsm_inst_dispatch(notify, event_failure, notify_data); } +/*! No longer notify for any state changes for any conns of this endpoint. + * Useful if the notify instance passed to osmo_mgcpc_ep_ci_request() is about to deallocate. + * \param ep The endpoint FSM instance. + * \param notify Which target to cancel notification for, if NULL cancel all notifications. */ +void osmo_mgcpc_ep_cancel_notify(struct osmo_mgcpc_ep *ep, struct osmo_fsm_inst *notify) +{ + struct fsm_notify *n; + int i; + for (i = 0; i < ARRAY_SIZE(ep->ci); i++) { + struct osmo_mgcpc_ep_ci *ci = &ep->ci[i]; + if (!notify || ci->notify.fi == notify) + ci->notify.fi = NULL; + } + llist_for_each_entry(n, &ep->background_notify, entry) { + if (!notify || n->fi == notify) + n->fi = NULL; + } + +} + +/* Return the osmo_mgcpc_ep that this conn belongs to. */ +struct osmo_mgcpc_ep *osmo_mgcpc_ep_ci_ep(struct osmo_mgcpc_ep_ci *conn) +{ + if (!conn) + return NULL; + return conn->ep; +} + static int send_verb(struct osmo_mgcpc_ep_ci *ci) { int rc; struct osmo_mgcpc_ep *ep = ci->ep; + struct fsm_notify notify; if (!ci->occupied || !ci->pending || ci->sent) return 0; @@ -693,11 +748,14 @@ osmo_mgcp_verb_name(ci->verb), ci->mgcp_ci_str); /* The way this is designed, we actually need to forget all about the ci right away. */ mgcp_conn_delete(ci->mgcp_client_fi); - if (ci->notify) - osmo_fsm_inst_dispatch(ci->notify, ci->notify_success, ci->notify_data); + notify = ci->notify; *ci = (struct osmo_mgcpc_ep_ci){ .ep = ep, }; + /* When dispatching an event for this CI, the user may decide to trigger the next request for this conn + * right away. So we must be ready with a cleared *ci. */ + if (notify.fi) + osmo_fsm_inst_dispatch(notify.fi, notify.success, notify.data); break; default: @@ -712,6 +770,7 @@ { if (!ep) return; + osmo_mgcpc_ep_cancel_notify(ep, NULL); osmo_fsm_inst_term(ep->fi, OSMO_FSM_TERM_REGULAR, 0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d Gerrit-Change-Number: 15838 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 Oct 23 01:49:03 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:49:03 +0000 Subject: Change in osmo-mgw[master]: accept MGCP without SDP References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15840 ) Change subject: accept MGCP without SDP ...................................................................... accept MGCP without SDP SDP is an optional part of MGCP messages. Do not fail when there is no SDP part. Practically this is useful to compose simpler MGCP responses from TTCN3 tests. osmo-mgw itself always includes SDP, so there is no real impact on operating libosmo-mgcp-client with osmo-mgw from osmo-bsc or osmo-msc. Change-Id: I608001626459ea72415fb142f857550bbb90c683 --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.c M tests/mgcp_client/mgcp_client_test.err 3 files changed, 18 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/40/15840/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 5823e2b..a65cd61 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -466,9 +466,8 @@ /* Find beginning of the parameter (SDP) section */ data_ptr = mgcp_find_section_end(data); if (!data_ptr) { - LOGP(DLMGCP, LOGL_ERROR, - "MGCP response: cannot find start of SDP parameters\n"); - rc = -EINVAL; + LOGP(DLMGCP, LOGL_DEBUG, "MGCP response contains no SDP parameters\n"); + rc = 0; goto exit; } diff --git a/tests/mgcp_client/mgcp_client_test.c b/tests/mgcp_client/mgcp_client_test.c index 9c4392f..d2e34a6 100644 --- a/tests/mgcp_client/mgcp_client_test.c +++ b/tests/mgcp_client/mgcp_client_test.c @@ -360,7 +360,7 @@ static struct sdp_section_start_test sdp_section_start_tests[] = { { .body = "", - .expect_rc = -EINVAL, + .expect_rc = 0, }, { .body = "\n\n", @@ -399,19 +399,19 @@ .body = "some mgcp header data\r\nand header params" "\n\r\n" "m=audio 23\r\n", - .expect_rc = -EINVAL, + .expect_rc = 0, }, { .body = "some mgcp header data\r\nand header params" "\r\n\r" "m=audio 23\r\n", - .expect_rc = -EINVAL, + .expect_rc = 0, }, { .body = "some mgcp header data\r\nand header params" "\n\r\r" "m=audio 23\r\n", - .expect_rc = -EINVAL, + .expect_rc = 0, }, }; diff --git a/tests/mgcp_client/mgcp_client_test.err b/tests/mgcp_client/mgcp_client_test.err index 627b2d9..fbcf8f6 100644 --- a/tests/mgcp_client/mgcp_client_test.err +++ b/tests/mgcp_client/mgcp_client_test.err @@ -17,8 +17,9 @@ test_sdp_section_start() test [0]: body: "" -DLMGCP MGCP response: cannot find start of SDP parameters -got rc=-22 +DLMGCP MGCP response contains no SDP parameters +got rc=0 +got audio_port=0 test_sdp_section_start() test [1]: body: "\n\n" @@ -52,18 +53,21 @@ test_sdp_section_start() test [7]: body: "some mgcp header data\r\nand header params\n\r\nm=audio 23\r\n" -DLMGCP MGCP response: cannot find start of SDP parameters -got rc=-22 +DLMGCP MGCP response contains no SDP parameters +got rc=0 +got audio_port=0 test_sdp_section_start() test [8]: body: "some mgcp header data\r\nand header params\r\n\rm=audio 23\r\n" -DLMGCP MGCP response: cannot find start of SDP parameters -got rc=-22 +DLMGCP MGCP response contains no SDP parameters +got rc=0 +got audio_port=0 test_sdp_section_start() test [9]: body: "some mgcp header data\r\nand header params\n\r\rm=audio 23\r\n" -DLMGCP MGCP response: cannot find start of SDP parameters -got rc=-22 +DLMGCP MGCP response contains no SDP parameters +got rc=0 +got audio_port=0 DLMGCP ptmap contains illegal mapping: codec=113 maps to pt=2 DLMGCP ptmap contains illegal mapping: codec=0 maps to pt=100 DLMGCP ptmap contains illegal mapping: codec=113 maps to pt=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I608001626459ea72415fb142f857550bbb90c683 Gerrit-Change-Number: 15840 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 Oct 23 01:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:49:01 +0000 Subject: Change in osmo-mgw[master]: clear pending requests on MGCP failure References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15837 ) Change subject: clear pending requests on MGCP failure ...................................................................... clear pending requests on MGCP failure If an MGCP operation on one conn of an endpoint fails, no longer carry out other pending requests for that endpoint. Only allow pending DLCX to be sent. If the caller schedules two CRCX at the same time, the first CRCX is sent with a wildcarded endpoint name like "rtpbridge/*@mgw". Only when the OK for that returns an allocated endpoint, will the second CRCX be sent, using that actual allocated endpoint name. But, if the first CRCX fails, then we should not send another wildcard CRCX, but rather assume both as failed. Since a failed MGCP message means that the endpoint becomes unusable / undefined and typically deallocates directly, we can actually discard all other pending requests except for DLCX. Change-Id: Icb1d485224bb486b84eff6329f0bd95932e63246 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/37/15837/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 420fc0f..3ea1492 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -357,6 +357,8 @@ struct osmo_fsm_inst *notify = ci->notify; uint32_t notify_failure = ci->notify_failure; void *notify_data = ci->notify_data; + struct osmo_mgcpc_ep *ep = ci->ep; + int i; if (!ci->occupied) return; @@ -365,6 +367,24 @@ .ep = ci->ep, }; + /* An MGCP failure typically means the endpoint becomes unusable, cancel all pending request (except DLCX). + * Particularly, if two CRCX were scheduled and the first fails, we must no longer dispatch the second CRCX. */ + for (i = 0; i < ARRAY_SIZE(ep->ci); i++) { + struct osmo_mgcpc_ep_ci *other_ci = &ep->ci[i]; + if (other_ci == ci) + continue; + if (!other_ci->occupied) + continue; + if (!other_ci->pending) + continue; + if (other_ci->sent) + continue; + if (other_ci->verb == MGCP_VERB_DLCX) + continue; + /* Just clear the pending request, don't fire more events than below. */ + other_ci->pending = false; + } + /* If this check has terminated the FSM instance, don't fire any more events to prevent use-after-free problems. * The endpoint FSM does dispatch a term event to its parent, and everything should be cleaned like that. */ if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi)) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icb1d485224bb486b84eff6329f0bd95932e63246 Gerrit-Change-Number: 15837 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 Oct 23 01:49:02 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:49:02 +0000 Subject: Change in osmo-mgw[master]: fix use-after-free: require new fsm safeguards, check for term References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15839 ) Change subject: fix use-after-free: require new fsm safeguards, check for term ...................................................................... fix use-after-free: require new fsm safeguards, check for term API doc: require osmo_fsm_set_dealloc_ctx() and osmo_fsm_set_term_stops_actions(). mgcp_client during delete: do not reparent the FSM when it is already terminating. I have recently discovered a vulnerability: if an endpoint FSM deallocates during event handling of a successful MGCP response, this causes a use-after-free; and once that is fixed, a state change on the already terminated FSM causes a pointer corruption by using already cleaned data structures. osmo_fsm_set_dealloc_ctx() fixes the use-after-free, and osmo_fsm_set_term_stops_actions() fixes the pointer corruption. Related: Ib7fce7b7d54dfb87af97544796680919e5929a50 (osmo-bsc), I08c03946605aa12e0a5ce8b3c773704ef5327a7a (osmo-msc) Depends: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 (libosmocore), I0adc13a1a998e953b6c850efa2761350dd07e03a (libosmocore) Change-Id: I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/39/15839/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 2259788..37cf346 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -255,6 +255,11 @@ * MGCP messages to set up the endpoint will be sent on the given mgcp_client, as soon as the first * osmo_mgcpc_ep_ci_request() is invoked. * + * IMPORTANT: To avoid use-after-free problems, using this FSM requires: + * - setting osmo_fsm_set_term_stops_actions(true), AND + * - use of deferred FSM deallocation using osmo_fsm_set_dealloc_ctx(), + * e.g. using osmo_select_main_ctx(OTC_SELECT) with osmo_select_main_ctx() as main loop. + * * A typical sequence of events would be: * * ep = osmo_mgcpc_ep_alloc(..., mgcp_client_rtpbridge_wildcard(client)); diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 7565d32..800ae1b 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -708,6 +708,9 @@ OSMO_ASSERT(mgcp_ctx); + if (fi->proc.terminating) + return; + /* Unlink FSM from parent */ osmo_fsm_inst_unlink_parent(fi, NULL); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 Gerrit-Change-Number: 15839 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 Oct 23 01:49:29 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:49:29 +0000 Subject: Change in osmo-bsc[master]: fsm: use deferred deallocation and term_stops_actions References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15841 ) Change subject: fsm: use deferred deallocation and term_stops_actions ...................................................................... fsm: use deferred deallocation and term_stops_actions Since osmo-bsc uses the MGCP client FSMs, it is required to enable these new features to guarantee safe operation. The issue is described in detail in commit logs linked below. Depends: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 (libosmocore), I0adc13a1a998e953b6c850efa2761350dd07e03a (libosmocore) Related: I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 (osmo-mgw) Change-Id: Ib7fce7b7d54dfb87af97544796680919e5929a50 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/41/15841/1 diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index dacd61a..a6c44bb 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -824,6 +824,9 @@ osmo_stats_init(tall_bsc_ctx); rate_ctr_init(tall_bsc_ctx); + osmo_fsm_set_dealloc_ctx(OTC_SELECT); + osmo_fsm_set_term_stops_actions(true); + /* Allocate global gsm_network struct */ rc = bsc_network_alloc(); if (rc) { @@ -942,7 +945,7 @@ } while (1) { - osmo_select_main(0); + osmo_select_main_ctx(0); } return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib7fce7b7d54dfb87af97544796680919e5929a50 Gerrit-Change-Number: 15841 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 Oct 23 01:50:18 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:18 +0000 Subject: Change in osmo-msc[master]: LOG_TRANS for CC: always log CC state References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15842 ) Change subject: LOG_TRANS for CC: always log CC state ...................................................................... LOG_TRANS for CC: always log CC state For all CC type transaction logging, log the current trans->cc.state string for all LOG_TRANS*() logging. Change-Id: I67be12c74c679ce684f8c0b9b4e0d96299849dc6 --- M include/osmocom/msc/transaction.h M src/libmsc/transaction.c M tests/msc_vlr/msc_vlr_test_call.err 3 files changed, 164 insertions(+), 146 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/42/15842/1 diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index 69cd652..cab0030 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -19,7 +19,7 @@ #define LOG_TRANS_CAT(trans, subsys, level, fmt, args...) \ LOGP(subsys, level, \ "trans(%s %s callref-0x%x tid-%u%s) " fmt, \ - (trans) ? trans_type_name((trans)->type) : "NULL", \ + (trans) ? trans_name(trans) : "NULL", \ (trans) ? ((trans)->msc_a ? (trans)->msc_a->c.fi->id : vlr_subscr_name((trans)->vsub)) : "NULL", \ (trans) ? (trans)->callref : 0, \ (trans) ? (trans)->transaction_id : 0, \ @@ -174,3 +174,5 @@ } return DMSC; } + +const char *trans_name(const struct gsm_trans *trans); diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 11cde93..94712cc 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -303,3 +303,19 @@ } } + +const char *trans_name(const struct gsm_trans *trans) +{ + static char namebuf[32]; + if (!trans) + return "NULL"; + switch (trans->type) { + case TRANS_CC: + snprintf(namebuf, sizeof(namebuf), "%s:%s", + trans_type_name(trans->type), gsm48_cc_state_name(trans->cc.state)); + return namebuf; + + default: + return trans_type_name(trans->type); + } +} diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index bbfa61b..1c9867f 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -284,24 +284,24 @@ DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000001 tid-8) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000001 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx SETUP in state NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state NULL -> INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) SETUP to 123 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_IND +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx SETUP in state NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state NULL -> INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) SETUP to 123 +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000001: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -312,21 +312,21 @@ MS <--Call Assignment-- MSC: callref=0x80000001 - Total time passed: 1.000023 s - The other call leg got established (not shown here), MNCC tells us so -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED +DMNCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_ALERTING: 8301 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND +DMNCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT: 8307 - DTAP matches expected message @@ -336,11 +336,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CONNECT_ACK -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx CONNECT_ACK in state CONNECT_IND -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T313 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CONNECT_IND -> ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_COMPL_IND +DCC trans(CC:CONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx CONNECT_ACK in state CONNECT_IND +DCC trans(CC:CONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T313 +DCC trans(CC:CONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CONNECT_IND -> ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DMNCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_COMPL_IND MSC --> MNCC: callref 0x80000001: MNCC_SETUP_COMPL_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) @@ -354,16 +354,16 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_DISCONNECT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx DISCONNECT in state ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state ACTIVE -> DISCONNECT_IND -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_DISC_IND +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx DISCONNECT in state ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state ACTIVE -> DISCONNECT_IND +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_DISC_IND MSC --> MNCC: callref 0x80000001: MNCC_DISC_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -372,13 +372,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx RELEASE_COMPL in state RELEASE_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T308 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T308 +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000001: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -625,7 +625,7 @@ - after a while, MNCC asks us to setup a call, causing Paging DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_gsm_cc: now used by 2 (attached,mncc_tx_to_gsm_cc) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_gsm_cc,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -708,12 +708,12 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Removing Paging Request -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + cc: now used by 2 (paging-response,cc) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -724,15 +724,15 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP) MS <--Call Assignment-- MSC: callref=0x423 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND +DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 1.000023 s @@ -740,11 +740,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_ALERTING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED +DMNCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND MSC --> MNCC: callref 0x423: MNCC_ALERT_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 2.000046 s @@ -752,17 +752,17 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CONNECT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CONNECT in state CALL_RECEIVED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> CONNECT_REQUEST -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_SETUP_CNF +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CONNECT in state CALL_RECEIVED +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> CONNECT_REQUEST +DMNCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_SETUP_CNF MSC --> MNCC: callref 0x423: MNCC_SETUP_CNF DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer +DMNCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ +DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds +DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST +DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT_ACK: 030f - DTAP matches expected message @@ -778,16 +778,16 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_DISCONNECT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx DISCONNECT in state ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state ACTIVE -> DISCONNECT_IND -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_DISC_IND +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx DISCONNECT in state ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state ACTIVE -> DISCONNECT_IND +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_DISC_IND MSC --> MNCC: callref 0x423: MNCC_DISC_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d - DTAP matches expected message @@ -796,13 +796,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx RELEASE_COMPL in state RELEASE_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF MSC --> MNCC: callref 0x423: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) Freeing transaction +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -1049,7 +1049,7 @@ - after a while, MNCC asks us to setup a call, causing Paging DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_gsm_cc: now used by 2 (attached,mncc_tx_to_gsm_cc) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_gsm_cc,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -1132,12 +1132,12 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Removing Paging Request -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + cc: now used by 2 (paging-response,cc) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -1148,15 +1148,15 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP) MS <--Call Assignment-- MSC: callref=0x423 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND +DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 1.000023 s @@ -1164,11 +1164,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_ALERTING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED +DMNCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND MSC --> MNCC: callref 0x423: MNCC_ALERT_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 16.000046 s @@ -1179,18 +1179,18 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + msc_a_fsm_releasing_onenter: now used by 4 (attached,CC,active-conn,msc_a_fsm_releasing_onenter) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 5 (attached,CC,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 4 (attached,CC,active-conn,msc_a_fsm_releasing_onenter) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) Freeing transaction +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d0802e1af - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF MSC --> MNCC: callref 0x423: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state RELEASE_REQ -> NULL +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state RELEASE_REQ -> NULL DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: - cc: now used by 0 (-) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_UNUSED @@ -1517,24 +1517,24 @@ DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000002 tid-8) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000002 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx SETUP in state NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state NULL -> INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) SETUP to 123 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_SETUP_IND +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx SETUP in state NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state NULL -> INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) SETUP to 123 +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000002: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1544,18 +1544,18 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ) MS <--Call Assignment-- MSC: callref=0x80000002 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DMNCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - Total time passed: 10.000023 s -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -1564,13 +1564,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx RELEASE_COMPL in state RELEASE_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending timer T308 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending timer T308 +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000002: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -1902,24 +1902,24 @@ DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000003 tid-8) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000003 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx SETUP in state NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state NULL -> INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) SETUP to 123 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_SETUP_IND +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx SETUP in state NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state NULL -> INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) SETUP to 123 +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000003: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1929,30 +1929,30 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ) MS <--Call Assignment-- MSC: callref=0x80000003 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DMNCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - Despite our repeated CC Release Requests, the MS does not respond anymore - Total time passed: 10.000023 s -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - The CC Release times out and we still properly clear the conn - Total time passed: 20.000046 s -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) Freeing transaction -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) Freeing transaction +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000003: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 0 (-) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_A_EV_UNUSED -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I67be12c74c679ce684f8c0b9b4e0d96299849dc6 Gerrit-Change-Number: 15842 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 Oct 23 01:50:19 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:19 +0000 Subject: Change in osmo-msc[master]: log which DTAP messages are sent to RAN References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15843 ) Change subject: log which DTAP messages are sent to RAN ...................................................................... log which DTAP messages are sent to RAN So far, the logging said only "RAN encode: BSSMAP: DTAP", but not *which* DTAP message, which is in fact a very interesting detail when reading osmo-msc logs. Change-Id: I0cb8d1e3307737ffe53730c64bb984adacedb2da --- M src/libmsc/msc_a.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err 10 files changed, 89 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/43/15843/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 344b442..d99088e 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1579,10 +1579,10 @@ int msc_a_tx_dtap_to_i(struct msc_a *msc_a, struct msgb *dtap) { struct ran_msg ran_msg; + struct gsm48_hdr *gh = msgb_l3(dtap) ? : dtap->data; + uint8_t pdisc = gsm48_hdr_pdisc(gh); if (!msc_a) { - struct gsm48_hdr *gh = msgb_l3(dtap) ? : dtap->data; - uint8_t pdisc = gsm48_hdr_pdisc(gh); LOGP(DMSC, LOGL_ERROR, "Attempt to send DTAP to NULL MSC-A, dropping message: %s %s\n", gsm48_pdisc_name(pdisc), gsm48_pdisc_msgtype_name(pdisc, gsm48_hdr_msg_type(gh))); msgb_free(dtap); @@ -1594,6 +1594,9 @@ return sgs_iface_tx_dtap_ud(msc_a, dtap); } + LOG_MSC_A(msc_a, LOGL_DEBUG, "Sending DTAP: %s %s\n", + gsm48_pdisc_name(pdisc), gsm48_pdisc_msgtype_name(pdisc, gsm48_hdr_msg_type(gh))); + ran_msg = (struct ran_msg){ .msg_type = RAN_MSG_DTAP, .dtap = dtap, diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err index aa78cdb..c5dee0c 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err @@ -268,6 +268,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -395,6 +396,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1302,6 +1304,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1417,6 +1420,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1532,6 +1536,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -2563,6 +2568,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index 1c9867f..4724ec6 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -302,6 +302,7 @@ DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -317,6 +318,7 @@ DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_ALERTING DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_ALERTING: 8301 - DTAP matches expected message @@ -327,6 +329,7 @@ DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CONNECT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT: 8307 - DTAP matches expected message @@ -364,6 +367,7 @@ DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -714,6 +718,7 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_SETUP DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -763,6 +768,7 @@ DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CONNECT_ACK DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT_ACK: 030f - DTAP matches expected message @@ -788,6 +794,7 @@ DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d - DTAP matches expected message @@ -1138,6 +1145,7 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_SETUP DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -1183,6 +1191,7 @@ DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d0802e1af - DTAP matches expected message @@ -1535,6 +1544,7 @@ DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1550,12 +1560,14 @@ DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - Total time passed: 10.000023 s DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -1920,6 +1932,7 @@ DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1935,6 +1948,7 @@ DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -1942,6 +1956,7 @@ - Despite our repeated CC Release Requests, the MS does not respond anymore - Total time passed: 10.000023 s DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index 4905881..3145610 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -264,6 +264,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -427,6 +428,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -463,6 +465,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -892,6 +895,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1055,6 +1059,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1091,6 +1096,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1533,6 +1539,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -1844,6 +1851,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2108,6 +2116,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2373,6 +2382,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI_TMSI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2831,6 +2841,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -2994,6 +3005,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -3030,6 +3042,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index 4585e0f..e3949e9 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -497,6 +497,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -532,6 +533,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1195,6 +1197,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1230,6 +1233,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1487,6 +1491,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2089,6 +2094,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI_TMSI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2751,6 +2757,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -2786,6 +2793,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -3393,6 +3401,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -3428,6 +3437,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -4013,6 +4023,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -4048,6 +4059,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err index d533976..3350431 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.err +++ b/tests/msc_vlr/msc_vlr_test_no_authen.err @@ -175,6 +175,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -294,6 +295,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -330,6 +332,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -670,6 +673,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -789,6 +793,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -825,6 +830,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1217,6 +1223,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -1467,6 +1474,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI_TMSI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -1693,6 +1701,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -1913,6 +1922,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -2144,6 +2154,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -2342,6 +2353,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -2608,6 +2620,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index 5101b06..3de18bf 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -385,6 +385,7 @@ DRLL msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Dispatching 04.08 message: MM GSM48_MT_MM_CM_SERV_REQ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Cannot accept CM Service Request, conn already busy establishing authenticity DMM msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: -> CM SERVICE Reject cause: 22 +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_REJ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_REJ: 052216 DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -775,6 +776,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1010,6 +1012,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1027,6 +1030,7 @@ DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Rx CM SERVICE REQUEST cm_service_type=Short-Messaging-Service DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: re-using already accepted connection DREF msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + cm_service_sms: now used by 3 (2*cm_service_sms,rx_from_ms) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1249,6 +1253,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1506,6 +1511,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1550,6 +1556,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1804,6 +1811,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1825,6 +1833,7 @@ DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Rx CM SERVICE REQUEST cm_service_type=Short-Messaging-Service DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: re-using already accepted connection DREF msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + cm_service_sms: now used by 3 (sms,rx_from_ms,cm_service_sms) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1853,6 +1862,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -2125,6 +2135,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -2166,6 +2177,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_rest.err b/tests/msc_vlr/msc_vlr_test_rest.err index fb10e6a..4121a26 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.err +++ b/tests/msc_vlr/msc_vlr_test_rest.err @@ -435,6 +435,7 @@ DREF VLR subscr TMSI-0x23422342 - _lu_fsm_associate_vsub: now used by 1 (active-conn) DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_want_imsi() DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_IMSI +DBSSAP msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051801 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 243f7e0..db158d6 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -160,6 +160,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -185,6 +186,7 @@ <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101033527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d0a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,active-conn,NCSS,gsm0911_gsup_rx) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,active-conn,NCSS) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: NCSS GSM0480_MTYPE_RELEASE_COMPLETE DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d - DTAP matches expected message @@ -423,6 +425,7 @@ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for GSM 09.11 SS/USSD: Removing Paging Request DSS msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Paging succeeded DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + nc_ss: now used by 3 (rx_from_ms,paging-response,nc_ss) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: NCSS GSM0480_MTYPE_REGISTER DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_REGISTER: 0b3b1c15a11302010102013b300b04010f0406aa510c061b01 - DTAP matches expected message @@ -445,6 +448,7 @@ <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101030a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,NCSS,active-conn,gsm0911_gsup_rx) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,NCSS,active-conn) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: NCSS GSM0480_MTYPE_RELEASE_COMPLETE DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 0b2a - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err index cda55f5..62dc2d3 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.err +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err @@ -281,6 +281,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -445,6 +446,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -481,6 +483,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -884,6 +887,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1050,6 +1054,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1086,6 +1091,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1683,6 +1689,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1716,6 +1723,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x04: 0904 - DTAP matches expected message -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0cb8d1e3307737ffe53730c64bb984adacedb2da Gerrit-Change-Number: 15843 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 Oct 23 01:50:19 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:19 +0000 Subject: Change in osmo-msc[master]: log: drop duplicate MNCC log References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15844 ) Change subject: log: drop duplicate MNCC log ...................................................................... log: drop duplicate MNCC log Change-Id: I46055a4f7a6ae517772c6794faad8c775454974a --- M src/libmsc/gsm_04_08_cc.c 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/44/15844/1 diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index ed74e88..c50ec7f 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -1756,8 +1756,6 @@ return -EINVAL; } - LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(MNCC_RTP_CONNECT)); - osmo_sockaddr_str_from_32n(&rtp_addr, rtp->ip, rtp->port); rtp_stream_set_remote_addr(rtps, &rtp_addr); rtp_stream_commit(rtps); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I46055a4f7a6ae517772c6794faad8c775454974a Gerrit-Change-Number: 15844 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 Oct 23 01:50:19 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:19 +0000 Subject: Change in osmo-msc[master]: also log MNCC_SETUP_REQ References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15845 ) Change subject: also log MNCC_SETUP_REQ ...................................................................... also log MNCC_SETUP_REQ If an incoming MNCC_SETUP_REQ ends up in Paging (as usually it does), the early return so far skipped logging of that MNCC message. Add this logging. Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 --- M src/libmsc/gsm_04_08_cc.c M tests/msc_vlr/msc_vlr_test_call.err 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/45/15845/1 diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index c50ec7f..03d376b 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -1961,6 +1961,7 @@ LOG_TRANS(trans, LOGL_ERROR, "Failed to allocate paging token.\n"); trans_free(trans); } + LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg->msg_type)); vlr_subscr_put(vsub, __func__); return 0; } diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index 4724ec6..58a618b 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -634,6 +634,7 @@ paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + Paging: now used by 4 (attached,mncc_tx_to_gsm_cc,CC,Paging) +DMNCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255,PAGING) rx MNCC_SETUP_REQ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - mncc_tx_to_gsm_cc: now used by 3 (attached,CC,Paging) paging_sent == 1 - MS replies with Paging Response, and VLR sends Auth Request @@ -1061,6 +1062,7 @@ paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + Paging: now used by 4 (attached,mncc_tx_to_gsm_cc,CC,Paging) +DMNCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255,PAGING) rx MNCC_SETUP_REQ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - mncc_tx_to_gsm_cc: now used by 3 (attached,CC,Paging) paging_sent == 1 - MS replies with Paging Response, and VLR sends Auth Request -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 Gerrit-Change-Number: 15845 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 Oct 23 01:50:20 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:20 +0000 Subject: Change in osmo-msc[master]: BSSMAP log tweak References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15846 ) Change subject: BSSMAP log tweak ...................................................................... BSSMAP log tweak Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 --- M src/libmsc/ran_msg_a.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/46/15846/1 diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 7672d86..01ecfa4 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -776,7 +776,7 @@ return -EINVAL; } - LOG_RAN_A_DEC(ran_dec, LOGL_DEBUG, "Rx BSSMAP DT1 %s\n", gsm0808_bssmap_name(msg_type)); + LOG_RAN_A_DEC(ran_dec, LOGL_DEBUG, "%s\n", gsm0808_bssmap_name(msg_type)); switch (msg_type) { case BSS_MAP_MSG_COMPLETE_LAYER_3: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 Gerrit-Change-Number: 15846 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 Oct 23 01:50:20 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:20 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... log: RANAP encode: use RANAP message names instead of BSSAP Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 --- M src/libmsc/ran_msg_iu.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/47/15847/1 diff --git a/src/libmsc/ran_msg_iu.c b/src/libmsc/ran_msg_iu.c index d5b9143..e056de4 100644 --- a/src/libmsc/ran_msg_iu.c +++ b/src/libmsc/ran_msg_iu.c @@ -396,25 +396,28 @@ struct msgb *ran_iu_encode(struct osmo_fsm_inst *caller_fi, const struct ran_msg *ran_enc_msg) { - LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "%s\n", ran_msg_type_name(ran_enc_msg->msg_type)); - switch (ran_enc_msg->msg_type) { case RAN_MSG_DTAP: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "DirectTransfer\n"); return ran_iu_wrap_dtap(ran_enc_msg->dtap); // TODO: RAN_MSG_CLASSMARK_REQUEST ?? case RAN_MSG_CIPHER_MODE_COMMAND: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "SecurityModeCommand\n"); return ran_iu_make_security_mode_command(caller_fi, &ran_enc_msg->cipher_mode_command); case RAN_MSG_ASSIGNMENT_COMMAND: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "RAB AssignmentRequest\n"); return ran_iu_make_rab_assignment(caller_fi, &ran_enc_msg->assignment_command); case RAN_MSG_COMMON_ID: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "CommonId\n"); return ranap_new_msg_common_id(ran_enc_msg->common_id.imsi); case RAN_MSG_CLEAR_COMMAND: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "Iu Release\n"); return ran_iu_make_release_command(caller_fi, &ran_enc_msg->clear_command); default: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 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 Oct 23 01:50:20 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:20 +0000 Subject: Change in osmo-msc[master]: log: ran_msg_a: tweak a message name References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15848 ) Change subject: log: ran_msg_a: tweak a message name ...................................................................... log: ran_msg_a: tweak a message name Change-Id: I691025cb957e9b87c8af2dc8eb741dcba6ca26e2 --- M src/libmsc/ran_msg_a.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/48/15848/1 diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 01ecfa4..fa0335c 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -54,7 +54,7 @@ struct tlv_p_entry *ie_l3_info = TLVP_GET(tp, GSM0808_IE_LAYER_3_INFORMATION); struct ran_msg ran_dec_msg = { .msg_type = RAN_MSG_COMPL_L3, - .msg_name = "BSSMAP Complete Layer 3", + .msg_name = "BSSMAP Complete Layer 3 Information", .compl_l3 = { .cell_id = &cell_id, .msg = msg, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I691025cb957e9b87c8af2dc8eb741dcba6ca26e2 Gerrit-Change-Number: 15848 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 Oct 23 01:50:20 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:20 +0000 Subject: Change in osmo-msc[master]: send MNCC REL only if MNCC has actually started References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15849 ) Change subject: send MNCC REL only if MNCC has actually started ...................................................................... send MNCC REL only if MNCC has actually started Change-Id: I07b2b6c0ee33f5d3e0a060c10cf36d5c7c9f0d9b --- M include/osmocom/msc/transaction.h M src/libmsc/gsm_04_08_cc.c 2 files changed, 9 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/49/15849/1 diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index cab0030..61d8c1a 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -103,6 +103,7 @@ struct osmo_timer_list timer; struct osmo_timer_list timer_guard; struct gsm_mncc msg; /* stores setup/disconnect/release message */ + bool mncc_initiated; /* Whether an MNCC Release is necessary on failure */ } cc; struct { struct gsm411_smc_inst smc_inst; diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 03d376b..6ce410f 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -244,6 +244,9 @@ memcpy(data, mncc, sizeof(struct gsm_mncc)); cc_tx_to_mncc(net, msg); + /* trans may be NULL when sending an MNCC error reply upon an invalid MNCC request */ + if (trans) + trans->cc.mncc_initiated = true; return 0; } @@ -278,9 +281,10 @@ gsm48_cc_tx_release(trans, &rel); } /* Ressource unavailable */ - mncc_release_ind(trans->net, trans, trans->callref, - GSM48_CAUSE_LOC_PRN_S_LU, - GSM48_CC_CAUSE_RESOURCE_UNAVAIL); + if (trans->cc.mncc_initiated) + mncc_release_ind(trans->net, trans, trans->callref, + GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_RESOURCE_UNAVAIL); /* This is a final freeing of the transaction. The MNCC release may have triggered the * T308 release timer, but we don't have the luxury of graceful CC Release here. */ gsm48_stop_cc_timer(trans); @@ -1979,6 +1983,7 @@ LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg->msg_type)); gsm48_start_guard_timer(trans); + trans->cc.mncc_initiated = true; if (trans->msc_a) msc_a = trans->msc_a; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I07b2b6c0ee33f5d3e0a060c10cf36d5c7c9f0d9b Gerrit-Change-Number: 15849 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 Oct 23 01:50:21 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:21 +0000 Subject: Change in osmo-msc[master]: fsm: use deferred deallocation and term_stops_actions References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15850 ) Change subject: fsm: use deferred deallocation and term_stops_actions ...................................................................... fsm: use deferred deallocation and term_stops_actions Since osmo-bsc uses the MGCP client FSMs, it is required to enable these new features to guarantee safe operation. The issue is described in detail in commit logs linked below. Notably, osmo-msc currently chooses to omit error handling during MGCP events (marked "FIXME"). An upcoming patch implements this error handling, and would make osmo-msc vulnerable to crash from unexpected MGCP messages. Depends: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 (libosmocore), I0adc13a1a998e953b6c850efa2761350dd07e03a (libosmocore) Related: I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 (osmo-mgw) Change-Id: I08c03946605aa12e0a5ce8b3c773704ef5327a7a --- M src/osmo-msc/msc_main.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/50/15850/1 diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 3860589..b08126f 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -500,7 +500,8 @@ /* Track the use of talloc NULL memory contexts */ talloc_enable_null_tracking(); - osmo_fsm_term_safely(true); + osmo_fsm_set_dealloc_ctx(OTC_SELECT); + osmo_fsm_set_term_stops_actions(true); msc_vty_info.copyright = osmomsc_copyright; @@ -721,7 +722,7 @@ while (!quit) { log_reset_context(); - osmo_select_main(0); + osmo_select_main_ctx(0); } msc_network_shutdown(msc_network); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I08c03946605aa12e0a5ce8b3c773704ef5327a7a Gerrit-Change-Number: 15850 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 Oct 23 01:50:21 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:21 +0000 Subject: Change in osmo-msc[master]: rtp_stream: sanely cancel MGW endpoint FSM notify References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15851 ) Change subject: rtp_stream: sanely cancel MGW endpoint FSM notify ...................................................................... rtp_stream: sanely cancel MGW endpoint FSM notify libosmo-mgcp-client recently introduced osmo_mgcpc_ep_cancel_notify() to cancel notification if a notify target FSM deallocates. Use it for sanity in rtp_stream FSM cleanup, the notify target for endpoint FSMs. Depends: I41687d7f3a808587ab7f7520f46dcc3c29cff92d (osmo-mgw) Change-Id: I351bb8e8fbc46eb629bcd599f6453e2c84c15015 --- M src/libmsc/rtp_stream.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/51/15851/1 diff --git a/src/libmsc/rtp_stream.c b/src/libmsc/rtp_stream.c index c3880bf..d78743e 100644 --- a/src/libmsc/rtp_stream.c +++ b/src/libmsc/rtp_stream.c @@ -220,6 +220,7 @@ { struct rtp_stream *rtps = fi->priv; if (rtps->ci) { + osmo_mgcpc_ep_cancel_notify(osmo_mgcpc_ep_ci_ep(rtps->ci), fi); osmo_mgcpc_ep_ci_dlcx(rtps->ci); rtps->ci = NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I351bb8e8fbc46eb629bcd599f6453e2c84c15015 Gerrit-Change-Number: 15851 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 Oct 23 01:50:21 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:21 +0000 Subject: Change in osmo-msc[master]: use osmo_sockaddr_str_is_nonzero() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15852 ) Change subject: use osmo_sockaddr_str_is_nonzero() ...................................................................... use osmo_sockaddr_str_is_nonzero() Also regard an RTP port as invalid if the IP address is 0.0.0.0. Achieve this by using osmo_sockaddr_str_is_nonzero() instead of osmo_sockaddr_str_is_set(). Depends: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 (libosmocore) Change-Id: I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd --- M src/libmsc/call_leg.c M src/libmsc/mncc_call.c M src/libmsc/msc_ho.c M src/libmsc/msc_t.c M src/libmsc/ran_msg_a.c M src/libmsc/rtp_stream.c 6 files changed, 19 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/52/15852/1 diff --git a/src/libmsc/call_leg.c b/src/libmsc/call_leg.c index 794eda2..b1d0b1e 100644 --- a/src/libmsc/call_leg.c +++ b/src/libmsc/call_leg.c @@ -301,7 +301,7 @@ rtps = cl->rtp[dir]; if (!rtps) return NULL; - if (!osmo_sockaddr_str_is_set(&rtps->local)) + if (!osmo_sockaddr_str_is_nonzero(&rtps->local)) return NULL; return &rtps->local; } @@ -327,7 +327,7 @@ } if (codec_if_known) rtp_stream_set_codec(cl->rtp[dir], *codec_if_known); - if (remote_addr_if_known && osmo_sockaddr_str_is_set(remote_addr_if_known)) + if (remote_addr_if_known && osmo_sockaddr_str_is_nonzero(remote_addr_if_known)) rtp_stream_set_remote_addr(cl->rtp[dir], remote_addr_if_known); return rtp_stream_ensure_ci(cl->rtp[dir], cl->mgw_endpoint); } diff --git a/src/libmsc/mncc_call.c b/src/libmsc/mncc_call.c index 5ca91d0..34c7299 100644 --- a/src/libmsc/mncc_call.c +++ b/src/libmsc/mncc_call.c @@ -256,7 +256,7 @@ return true; } - if (!osmo_sockaddr_str_is_set(&mncc_call->rtps->local)) { + if (!osmo_sockaddr_str_is_nonzero(&mncc_call->rtps->local)) { LOG_MNCC_CALL(mncc_call, LOGL_DEBUG, "Got RTP_CREATE, but RTP stream has no local address\n"); return true; } @@ -294,7 +294,7 @@ static bool mncc_call_tx_rtp_create(struct mncc_call *mncc_call) { - if (!mncc_call->rtps || !osmo_sockaddr_str_is_set(&mncc_call->rtps->local)) { + if (!mncc_call->rtps || !osmo_sockaddr_str_is_nonzero(&mncc_call->rtps->local)) { mncc_call_error(mncc_call, "Cannot send RTP_CREATE, no local RTP address set up\n"); return false; } diff --git a/src/libmsc/msc_ho.c b/src/libmsc/msc_ho.c index 615b8cd..99f37b6 100644 --- a/src/libmsc/msc_ho.c +++ b/src/libmsc/msc_ho.c @@ -661,7 +661,7 @@ } msc_a->ho.new_cell.ran_remote_rtp = hra->ran_dec->handover_request_ack.remote_rtp; - if (osmo_sockaddr_str_is_set(&msc_a->ho.new_cell.ran_remote_rtp)) { + if (osmo_sockaddr_str_is_nonzero(&msc_a->ho.new_cell.ran_remote_rtp)) { LOG_HO(msc_a, LOGL_DEBUG, "Request Ack contains cell's RTP address " OSMO_SOCKADDR_STR_FMT "\n", OSMO_SOCKADDR_STR_FMT_ARGS(&msc_a->ho.new_cell.ran_remote_rtp)); } @@ -684,7 +684,7 @@ return; } - if (!osmo_sockaddr_str_is_set(&msc_a->ho.new_cell.ran_remote_rtp)) { + if (!osmo_sockaddr_str_is_nonzero(&msc_a->ho.new_cell.ran_remote_rtp)) { LOG_HO(msc_a, LOGL_DEBUG, "New cell's RTP IP:port not yet known, not switching RTP stream\n"); return; } @@ -738,7 +738,7 @@ return; } - if (!osmo_sockaddr_str_is_set(&msc_a->ho.old_cell.ran_remote_rtp)) { + if (!osmo_sockaddr_str_is_nonzero(&msc_a->ho.old_cell.ran_remote_rtp)) { LOG_HO(msc_a, LOGL_DEBUG, "Have no RTP IP:port for the old cell, not switching back to\n"); return; } diff --git a/src/libmsc/msc_t.c b/src/libmsc/msc_t.c index 6b96c26..af0ddaa 100644 --- a/src/libmsc/msc_t.c +++ b/src/libmsc/msc_t.c @@ -444,7 +444,7 @@ /* Also need to fetch the RTP IP:port from AoIP Transport Address IE to tell the MGW about it */ if (rtp_ran) { - if (osmo_sockaddr_str_is_set(&r->remote_rtp)) { + if (osmo_sockaddr_str_is_nonzero(&r->remote_rtp)) { LOG_MSC_T(msc_t, LOGL_DEBUG, "From Handover Request Ack, got " OSMO_SOCKADDR_STR_FMT "\n", OSMO_SOCKADDR_STR_FMT_ARGS(&r->remote_rtp)); rtp_stream_set_remote_addr(rtp_ran, &r->remote_rtp); diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index fa0335c..fc9a9d7 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -942,7 +942,7 @@ use_scl = &scl; /* Package RTP-Address data */ - if (osmo_sockaddr_str_is_set(ac->cn_rtp)) { + if (osmo_sockaddr_str_is_nonzero(ac->cn_rtp)) { struct sockaddr_in rtp_addr_in; memset(&rtp_addr_in, 0, sizeof(rtp_addr_in)); @@ -1114,7 +1114,7 @@ if (n->classmark) r.classmark_information = *n->classmark; - if (osmo_sockaddr_str_is_set(n->rtp_ran_local)) { + if (osmo_sockaddr_str_is_nonzero(n->rtp_ran_local)) { if (osmo_sockaddr_str_to_sockaddr(n->rtp_ran_local, &ss)) { LOG_RAN_A_ENC(log_fi, LOGL_ERROR, "Handover Request: invalid AoIP Transport Layer address/port: " @@ -1139,7 +1139,7 @@ .chosen_speech_version = r->chosen_speech_version, }; - if (osmo_sockaddr_str_is_set(&r->remote_rtp)) { + if (osmo_sockaddr_str_is_nonzero(&r->remote_rtp)) { osmo_sockaddr_str_to_sockaddr(&r->remote_rtp, &ss); params.aoip_transport_layer = &ss; } diff --git a/src/libmsc/rtp_stream.c b/src/libmsc/rtp_stream.c index d78743e..2902520 100644 --- a/src/libmsc/rtp_stream.c +++ b/src/libmsc/rtp_stream.c @@ -74,7 +74,7 @@ OSMO_STRBUF_PRINTF(sb, ":no-CI"); } else { OSMO_STRBUF_PRINTF(sb, ":CI-%s", osmo_mgcpc_ep_ci_id(rtps->ci)); - if (!osmo_sockaddr_str_is_set(&rtps->remote)) + if (!osmo_sockaddr_str_is_nonzero(&rtps->remote)) OSMO_STRBUF_PRINTF(sb, ":no-remote-port"); else if (!rtps->remote_sent_to_mgw) OSMO_STRBUF_PRINTF(sb, ":remote-port-not-sent"); @@ -89,9 +89,9 @@ OSMO_STRBUF_PRINTF(sb, ":remote-osmux-cid-not-sent"); } } - if (osmo_sockaddr_str_is_set(&rtps->local)) + if (osmo_sockaddr_str_is_nonzero(&rtps->local)) OSMO_STRBUF_PRINTF(sb, ":local-%s-%u", rtps->local.ip, rtps->local.port); - if (osmo_sockaddr_str_is_set(&rtps->remote)) + if (osmo_sockaddr_str_is_nonzero(&rtps->remote)) OSMO_STRBUF_PRINTF(sb, ":remote-%s-%u", rtps->remote.ip, rtps->remote.port); if (rtps->use_osmux) OSMO_STRBUF_PRINTF(sb, ":osmux-%d-%d", rtps->local_osmux_cid, rtps->remote_osmux_cid); @@ -137,8 +137,8 @@ static void check_established(struct rtp_stream *rtps) { if (rtps->fi->state != RTP_STREAM_ST_ESTABLISHED - && osmo_sockaddr_str_is_set(&rtps->local) - && osmo_sockaddr_str_is_set(&rtps->remote) + && osmo_sockaddr_str_is_nonzero(&rtps->local) + && osmo_sockaddr_str_is_nonzero(&rtps->remote) && rtps->remote_sent_to_mgw && (!rtps->use_osmux || rtps->remote_osmux_cid_sent_to_mgw) && rtps->codec_known) @@ -172,7 +172,7 @@ check_established(rtps); if ((!rtps->remote_sent_to_mgw || !rtps->codec_sent_to_mgw) - && osmo_sockaddr_str_is_set(&rtps->remote) + && osmo_sockaddr_str_is_nonzero(&rtps->remote) && (!rtps->use_osmux || rtps->remote_osmux_cid_sent_to_mgw) && rtps->codec_known) { LOG_RTPS(rtps, LOGL_DEBUG, @@ -315,7 +315,7 @@ verb_info.codecs_len = 1; rtps->codec_sent_to_mgw = true; } - if (osmo_sockaddr_str_is_set(&rtps->remote)) { + if (osmo_sockaddr_str_is_nonzero(&rtps->remote)) { int rc = osmo_strlcpy(verb_info.addr, rtps->remote.ip, sizeof(verb_info.addr)); if (rc <= 0 || rc >= sizeof(verb_info.addr)) { LOG_RTPS(rtps, LOGL_ERROR, "Failure to write IP address to MGCP message (rc=%d)\n", rc); @@ -365,7 +365,7 @@ LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: no MGW endpoint CI set up\n"); return -1; } - if (!osmo_sockaddr_str_is_set(&rtps->remote)) { + if (!osmo_sockaddr_str_is_nonzero(&rtps->remote)) { LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: no remote RTP address known\n"); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd Gerrit-Change-Number: 15852 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 Oct 23 01:50:22 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 23 Oct 2019 01:50:22 +0000 Subject: Change in osmo-msc[master]: CC: add error handling for CRCX responses References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15853 ) Change subject: CC: add error handling for CRCX responses ...................................................................... CC: add error handling for CRCX responses Fix three 'FIXME: ERROR HANDLING' occurences in the code that reacts upon the MGW providing (or failing to provide) an RTP port for the RAN side. From an earlier stage of the code, the cleanup for this situation was extremely complex, and hence the choice was to simply wait for the call to time out and fail. But since we have implemented safe deallocation of nested FSMs in libosmocore, the situation has become rather trivial: simply free the CC transactions, and all the rest will immediately release, and terminate correctly without crashing. A ttcn3 test for this is MSC_Tests:TC_invalid_mgcp_crash, which actually also needs the change to osmo_sockaddr_str_is_nonzero() in preceding patch I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd, so that a seemingly valid MGCP message ends up causing a failure in the on_success() branch of mgcp_client_endpoint_fsm.c. Change-Id: I8313bed1d782100bebeac7d8fc040557c4cb653e --- M src/libmsc/msc_a.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/15853/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index d99088e..3c316ea 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -523,7 +523,7 @@ if (mncc_bearer_cap_to_channel_type(&channel_type, &cc_trans->bearer_cap)) { LOG_MSC_A(msc_a, LOGL_ERROR, "Cannot compose Channel Type from bearer capabilities\n"); - /* FIXME: ERROR HANDLING */ + trans_free(cc_trans); return; } @@ -539,7 +539,7 @@ }; if (msc_a_ran_down(msc_a, MSC_ROLE_I, &msg)) { LOG_MSC_A(msc_a, LOGL_ERROR, "Cannot send Assignment\n"); - /* FIXME: ERROR HANDLING */ + trans_free(cc_trans); return; } } @@ -548,7 +548,7 @@ { if (gsm48_tch_rtp_create(cc_trans)) { LOG_MSC_A(msc_a, LOGL_ERROR, "Cannot inform MNCC of RTP address\n"); - /* FIXME: ERROR HANDLING */ + trans_free(cc_trans); return; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8313bed1d782100bebeac7d8fc040557c4cb653e Gerrit-Change-Number: 15853 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Wed Oct 23 06:53:24 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 23 Oct 2019 06:53:24 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#545?= In-Reply-To: <432205396.410.1571727213377.JavaMail.jenkins@jenkins.osmocom.org> References: <432205396.410.1571727213377.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1156358721.454.1571813604236.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.52 KB...] 320 0 0 320 140 obj/owhw/dfu_board_lowlevel.o 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Wed Oct 23 11:40:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 11:40:18 +0000 Subject: Change in libosmo-sccp[master]: xua_rkm: Print NOTICE log message if registration for wrong rctx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15831 ) Change subject: xua_rkm: Print NOTICE log message if registration for wrong rctx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifb70940e9edfad8c99473ec724dc52f5885561de Gerrit-Change-Number: 15831 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 11: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 Wed Oct 23 11:40:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 11:40:22 +0000 Subject: Change in libosmo-sccp[master]: Log correct protocol during xua_accept_cb() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15830 ) Change subject: Log correct protocol during xua_accept_cb() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic34ddbcd528cd871d9772665e1d0863896f33203 Gerrit-Change-Number: 15830 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 11:40: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 Oct 23 11:40:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 11:40:59 +0000 Subject: Change in libosmo-sccp[master]: xua_rkm: Don't permit de-registration of rctx with ASP active In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15832 ) Change subject: xua_rkm: Don't permit de-registration of rctx with ASP active ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie47eb205b397f3d2ce94c4ec3531664ed290a819 Gerrit-Change-Number: 15832 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 11:40: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 Wed Oct 23 11:50:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 11:50:26 +0000 Subject: Change in libosmo-sccp[master]: vty: Fix write-config of local-ip and remote-ip commands References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15854 ) Change subject: vty: Fix write-config of local-ip and remote-ip commands ...................................................................... vty: Fix write-config of local-ip and remote-ip commands Fixes: CID#205338 Fixes: CID#205337 Change-Id: I7b01e53aa4bfd714467cbd729cfcf4dc12a64bd4 --- M src/osmo_ss7_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/54/15854/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 8169aaf..23607ca 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -500,7 +500,7 @@ xs->cfg.local.port, VTY_NEWLINE); for (i = 0; i < xs->cfg.local.host_cnt; i++) { - if (xs->cfg.local.host) + if (xs->cfg.local.host[i]) vty_out(vty, " local-ip %s%s", xs->cfg.local.host[i], VTY_NEWLINE); } if (xs->cfg.accept_dyn_reg) @@ -698,11 +698,11 @@ if (asp->cfg.description) vty_out(vty, " description %s%s", asp->cfg.description, VTY_NEWLINE); for (i = 0; i < asp->cfg.local.host_cnt; i++) { - if (asp->cfg.local.host) + if (asp->cfg.local.host[i]) vty_out(vty, " local-ip %s%s", asp->cfg.local.host[i], VTY_NEWLINE); } for (i = 0; i < asp->cfg.remote.host_cnt; i++) { - if (asp->cfg.remote.host) + if (asp->cfg.remote.host[i]) vty_out(vty, " remote-ip %s%s", asp->cfg.remote.host[i], VTY_NEWLINE); } if (asp->cfg.qos_class) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7b01e53aa4bfd714467cbd729cfcf4dc12a64bd4 Gerrit-Change-Number: 15854 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 Oct 23 13:11:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:11:54 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: (1 comment) As I already pointed out, I'm not liking very much all these new APIs making common FSMs more complex which could probably be fixed ad-hoc pro specific FSM users by having a delete_cb being triggered when the fsm is going to be deleted. https://gerrit.osmocom.org/c/libosmocore/+/15677/2/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/c/libosmocore/+/15677/2/src/fsm.c at 198 PS2, Line 198: void osmo_fsm_set_dealloc_ctx(void *ctx) Should this be per fsm_instance? why limiting it to one given context for all instances? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:11: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 Wed Oct 23 13:14:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:14:08 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15833/1/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/c/libosmocore/+/15833/1/src/fsm.c at 221 PS1, Line 221: void osmo_fsm_set_term_stops_actions(bool term_stops_actions) Again, why not per FSM instance? What if I want different instances to behave differently? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:14: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 Oct 23 13:18:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:18:06 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str_is_nonzero() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15835 ) Change subject: add osmo_sockaddr_str_is_nonzero() ...................................................................... Patch Set 1: Where is this going to be used? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 Gerrit-Change-Number: 15835 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:18:06 +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 Oct 23 13:21:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:21:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm cleanup: Do not assert on DLCX failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15836 ) Change subject: mgcp_client_fsm cleanup: Do not assert on DLCX failure ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/15836/1/src/libosmo-mgcp-client/mgcp_client_fsm.c File src/libosmo-mgcp-client/mgcp_client_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/15836/1/src/libosmo-mgcp-client/mgcp_client_fsm.c at 529 PS1, Line 529: LOGPFSML(fi, LOGL_ERROR, "MGW/DLCX: Error composing DLCX message\n"); you write DLCX twice here, I think you can drop the "MGW/DLCX" part. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic1c3c4deeb4703b60e870af9d5d7be216a87fff8 Gerrit-Change-Number: 15836 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:21: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 Wed Oct 23 13:27:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:27:53 +0000 Subject: Change in osmo-mgw[master]: clear pending requests on MGCP failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15837 ) Change subject: clear pending requests on MGCP failure ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/15837/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/15837/1//COMMIT_MSG at 7 PS1, Line 7: clear pending requests on MGCP failure prepend mgcp-client:, it helps understanding quickly it's not part of osmo-mgw but for libosmo-mgcp-client. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icb1d485224bb486b84eff6329f0bd95932e63246 Gerrit-Change-Number: 15837 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:27: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 Wed Oct 23 13:28:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:28:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm cleanup: Do not assert on DLCX failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15836 ) Change subject: mgcp_client_fsm cleanup: Do not assert on DLCX failure ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic1c3c4deeb4703b60e870af9d5d7be216a87fff8 Gerrit-Change-Number: 15836 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:28: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 Oct 23 13:39:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:39:54 +0000 Subject: Change in osmo-mgw[master]: endpoint FSM: allow cancelling a notify event In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15838 ) Change subject: endpoint FSM: allow cancelling a notify event ...................................................................... Patch Set 1: (1 comment) I'd welcome having also split into different commits: 1- Moving all existing fields into the new struct 2- Ading whatever fields are required and implementing the feature. https://gerrit.osmocom.org/c/osmo-mgw/+/15838/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c File src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/15838/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 701 PS1, Line 701: struct osmo_mgcpc_ep *osmo_mgcpc_ep_ci_ep(struct osmo_mgcpc_ep_ci *conn) This new API looks non related to the commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d Gerrit-Change-Number: 15838 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:39: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 Wed Oct 23 13:43:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:43:41 +0000 Subject: Change in osmo-mgw[master]: accept MGCP without SDP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15840 ) Change subject: accept MGCP without SDP ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/15840/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/15840/1//COMMIT_MSG at 7 PS1, Line 7: accept MGCP without SDP Prepend "mgcp-client". -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I608001626459ea72415fb142f857550bbb90c683 Gerrit-Change-Number: 15840 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:43: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 Wed Oct 23 13:48:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:48:12 +0000 Subject: Change in osmo-msc[master]: LOG_TRANS for CC: always log CC state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15842 ) Change subject: LOG_TRANS for CC: always log CC state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I67be12c74c679ce684f8c0b9b4e0d96299849dc6 Gerrit-Change-Number: 15842 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:48: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 Oct 23 13:49:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:49:37 +0000 Subject: Change in osmo-msc[master]: log which DTAP messages are sent to RAN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15843 ) Change subject: log which DTAP messages are sent to RAN ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0cb8d1e3307737ffe53730c64bb984adacedb2da Gerrit-Change-Number: 15843 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:49: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 Oct 23 13:50:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:50:06 +0000 Subject: Change in osmo-msc[master]: log: drop duplicate MNCC log In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15844 ) Change subject: log: drop duplicate MNCC log ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I46055a4f7a6ae517772c6794faad8c775454974a Gerrit-Change-Number: 15844 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:50: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 Oct 23 13:51:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:51:38 +0000 Subject: Change in osmo-msc[master]: also log MNCC_SETUP_REQ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15845 ) Change subject: also log MNCC_SETUP_REQ ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15845/1/src/libmsc/gsm_04_08_cc.c File src/libmsc/gsm_04_08_cc.c: https://gerrit.osmocom.org/c/osmo-msc/+/15845/1/src/libmsc/gsm_04_08_cc.c at 1964 PS1, Line 1964: LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg->msg_type)); Wouldn't make more sense to put it before the if conditon immediatelly above to have first printed what was received and later what failed as a consequence? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 Gerrit-Change-Number: 15845 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:51: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 Wed Oct 23 13:52:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:52:20 +0000 Subject: Change in osmo-msc[master]: BSSMAP log tweak In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15846 ) Change subject: BSSMAP log tweak ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15846/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-msc/+/15846/1//COMMIT_MSG at 7 PS1, Line 7: BSSMAP log tweak Why did you drop it? because LOG_RAN_A_DEC already writes that? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 Gerrit-Change-Number: 15846 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:52:20 +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 Oct 23 13:54:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:54:11 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c File src/libmsc/ran_msg_iu.c: https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c at 402 PS1, Line 402: LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "DirectTransfer\n"); I'm not following this commit. Why not using a value_string instead of printing a string on each case? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:54: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 Wed Oct 23 13:54:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:54:28 +0000 Subject: Change in osmo-msc[master]: log: ran_msg_a: tweak a message name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15848 ) Change subject: log: ran_msg_a: tweak a message name ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I691025cb957e9b87c8af2dc8eb741dcba6ca26e2 Gerrit-Change-Number: 15848 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:54: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 Oct 23 13:55:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:55:57 +0000 Subject: Change in osmo-msc[master]: send MNCC REL only if MNCC has actually started In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15849 ) Change subject: send MNCC REL only if MNCC has actually started ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I07b2b6c0ee33f5d3e0a060c10cf36d5c7c9f0d9b Gerrit-Change-Number: 15849 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13:55: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 Oct 23 13:57:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 13:57:34 +0000 Subject: Change in osmo-msc[master]: rtp_stream: sanely cancel MGW endpoint FSM notify In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15851 ) Change subject: rtp_stream: sanely cancel MGW endpoint FSM notify ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I351bb8e8fbc46eb629bcd599f6453e2c84c15015 Gerrit-Change-Number: 15851 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 13: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 Wed Oct 23 14:05:50 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 23 Oct 2019 14:05:50 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... Patch Set 5: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/15719/5/src/gsm/gsm0502.c File src/gsm/gsm0502.c: https://gerrit.osmocom.org/c/libosmocore/+/15719/5/src/gsm/gsm0502.c at 51 PS5, Line 51: /* Section 7 Table 1 of 5 Mapping of logical channels onto physical channels */ In newer specs it seems to be called "Clause 7 [...]". And unfortunately it's not even in the ToC of the spec...just some pages stuffed in there between the regular chapter and the appendix. I think renaming this to Section/Clause 7 would be good so a text search can yield results. https://gerrit.osmocom.org/c/libosmocore/+/15719/5/src/gsm/gsm0502.c at 117 PS5, Line 117: Section Section/Clause https://gerrit.osmocom.org/c/libosmocore/+/15719/5/src/gsm/gsm0502.c at 124 PS5, Line 124: #define fn_remap_table_from_traffic_block_map(table, map, rows, cols, repeat) \ I think it would be okay to just add the tables that you are calculating in the initializer and macro to the source. Although I also like that the structs directly contain the info from the spec... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 14:05:50 +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 Oct 23 14:48:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 14:48:33 +0000 Subject: Change in libosmo-sccp[master]: vty: Fix write-config of local-ip and remote-ip commands 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/libosmo-sccp/+/15854 to look at the new patch set (#2). Change subject: vty: Fix write-config of local-ip and remote-ip commands ...................................................................... vty: Fix write-config of local-ip and remote-ip commands Fixes: CID#205338 Fixes: CID#205337 Change-Id: I7b01e53aa4bfd714467cbd729cfcf4dc12a64bd4 --- M src/osmo_ss7_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/54/15854/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7b01e53aa4bfd714467cbd729cfcf4dc12a64bd4 Gerrit-Change-Number: 15854 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Oct 23 14:48:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 14:48:33 +0000 Subject: Change in libosmo-sccp[master]: ss7: Only override traffic mode from recv REG REQ if not set by VTY 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/libosmo-sccp/+/15804 to look at the new patch set (#4). Change subject: ss7: Only override traffic mode from recv REG REQ if not set by VTY ...................................................................... ss7: Only override traffic mode from recv REG REQ if not set by VTY RFC 4666 (SS7/MTP3/M3UA) states in isection 4.3.4.3 ASP Active Procedures: """ If the traffic handling mode of the Application Server is not already known via configuration data, then the traffic handling mode indicated in the first ASP Active message causing the transition of the Application Server state to AS-ACTIVE MAY be used to set the mode. """ In section 3.6.1 Registration Request (REG REQ), no related information is provided on how to handle it, but still makes sense to apply same behavior as in 4.3.4.3. Related: OS#4220 Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/xua_rkm.c 5 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/04/15804/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 Gerrit-Change-Number: 15804 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 Wed Oct 23 14:48:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 14:48:33 +0000 Subject: Change in libosmo-sccp[master]: WIP: ss7: Set Traffic Mode Type in ASPAC msg if set in VTY 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-sccp/+/15817 to look at the new patch set (#3). Change subject: WIP: ss7: Set Traffic Mode Type in ASPAC msg if set in VTY ...................................................................... WIP: ss7: Set Traffic Mode Type in ASPAC msg if set in VTY TODO: Make sure the new prim is used to construct the message in lower layers. Related: OS#4220 Change-Id: Icce0e672f6180ebc92ca34f538d41161d02fecb9 --- M src/xua_asp_fsm.c 1 file changed, 51 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/17/15817/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Icce0e672f6180ebc92ca34f538d41161d02fecb9 Gerrit-Change-Number: 15817 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 Wed Oct 23 14:48:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 14:48:35 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15855 ) Change subject: cosmetic: Fix trailing whitespace ...................................................................... cosmetic: Fix trailing whitespace Change-Id: Ic5bae0b69dcf24da8069709692b5687ad76239dc --- M src/xua_asp_fsm.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/55/15855/1 diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index c5bd116..db4ffcb 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -1,6 +1,6 @@ /* SCCP M3UA / SUA ASP osmo_fsm according to RFC3868 4.3.1 */ /* (C) Copyright 2017 by Harald Welte - * + * * All Rights reserved. * * SPDX-License-Identifier: GPL-2.0+ @@ -36,7 +36,7 @@ * * translate incoming SUA/M3UA msg_class/msg_type to xua_asp_event * * propagate state transitions to XUA_AS_FSM via _onenter functiosn * * notify the Layer Management of any relevant changes - * * + * * */ /* According to RFC3868 Section 8 */ @@ -205,7 +205,7 @@ xua->hdr = XUA_HDR(SUA_MSGC_ASPTM, SUA_ASPTM_ACTIVE_ACK); /* Optional: Traffic Mode Type */ /* Mandatory: Routing Context */ - //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, + //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, /* Optional: Info String */ break; case XUA_ASP_E_ASPTM_ASPIA: -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic5bae0b69dcf24da8069709692b5687ad76239dc Gerrit-Change-Number: 15855 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 Oct 23 14:48:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 14:48:35 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set default traffic-mode to override References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15856 ) Change subject: ss7: Set default traffic-mode to override ...................................................................... ss7: Set default traffic-mode to override Change-Id: I8570ed6634eb20c0f9e4b712de6592b6c3b77227 --- M src/osmo_ss7.c M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 3 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/56/15856/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index e7e688d..091aa7f 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -955,7 +955,7 @@ as->inst = inst; as->cfg.name = talloc_strdup(as, name); as->cfg.proto = proto; - as->cfg.mode = OSMO_SS7_AS_TMOD_LOADSHARE; + as->cfg.mode = OSMO_SS7_AS_TMOD_OVERRIDE; as->cfg.recovery_timeout_msec = 2000; as->cfg.routing_key.l_rk_id = find_free_l_rk_id(inst); as->fi = xua_as_fsm_start(as, LOGL_DEBUG); diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index a7ab8f2..9ec4b28 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -994,7 +994,7 @@ continue; vty_out(vty, " asp %s%s", asp->cfg.name, VTY_NEWLINE); } - if (as->cfg.mode != OSMO_SS7_AS_TMOD_LOADSHARE) + if (as->cfg.mode != OSMO_SS7_AS_TMOD_OVERRIDE) vty_out(vty, " traffic-mode %s%s", osmo_ss7_as_traffic_mode_name(as->cfg.mode), VTY_NEWLINE); if (as->cfg.recovery_timeout_msec != 2000) { diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 74dc777..367c2d9 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -270,13 +270,13 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 0.0.0 loadshare +my-ass AS_DOWN 0 0.0.0 override ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as active Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 0.0.0 loadshare +my-ass AS_DOWN 0 0.0.0 override ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as sua Routing Routing Key Cic Cic Traffic @@ -287,7 +287,7 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 0.0.0 loadshare +my-ass AS_DOWN 0 0.0.0 override ss7_asp_vty_test(config-cs7-as)# asp my-asp ss7_asp_vty_test(config-cs7-as)# routing-key 0 3.2.1 @@ -318,7 +318,7 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 3.2.1 loadshare +my-ass AS_DOWN 0 3.2.1 override @@ -359,7 +359,7 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 3.2.1 loadshare +my-ass AS_DOWN 0 3.2.1 override ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 sccp timers -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I8570ed6634eb20c0f9e4b712de6592b6c3b77227 Gerrit-Change-Number: 15856 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 Oct 23 14:50:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 14:50:25 +0000 Subject: Change in libosmo-sccp[master]: vty: Print traffic mode during show cs7 instance as In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 ) Change subject: vty: Print traffic mode during show cs7 instance as ...................................................................... Patch Set 5: AFAIU LOADSHARE was always the default set by client code (osmo-bsc, osmo-msc), see next commit where override is set as new default. Override was nevertheless used until now because traffic mode configured was not correctly set during REG REQ (see later commit I5d24772f07e77cc3ba6edfa819bb9bc0266a1064 where it is fixed). -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ief6b03f50751b8d8f4021e94d54f079681b64d51 Gerrit-Change-Number: 15801 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 14:50: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 Wed Oct 23 15:43:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 15:43:37 +0000 Subject: Change in libosmo-sccp[master]: ss7: Only override traffic mode from recv REG REQ if not set by VTY 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/libosmo-sccp/+/15804 to look at the new patch set (#5). Change subject: ss7: Only override traffic mode from recv REG REQ if not set by VTY ...................................................................... ss7: Only override traffic mode from recv REG REQ if not set by VTY RFC 4666 (SS7/MTP3/M3UA) states in isection 4.3.4.3 ASP Active Procedures: """ If the traffic handling mode of the Application Server is not already known via configuration data, then the traffic handling mode indicated in the first ASP Active message causing the transition of the Application Server state to AS-ACTIVE MAY be used to set the mode. """ In section 3.6.1 Registration Request (REG REQ), no related information is provided on how to handle it, but still makes sense to apply same behavior as in 4.3.4.3. Related: OS#4220 Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/xua_rkm.c 5 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/04/15804/5 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 Gerrit-Change-Number: 15804 Gerrit-PatchSet: 5 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 Wed Oct 23 15:43:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 15:43:37 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic Mode and Route Ctx in ASPAC msg if set in VTY 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-sccp/+/15817 to look at the new patch set (#4). Change subject: ss7: Set Traffic Mode and Route Ctx in ASPAC msg if set in VTY ...................................................................... ss7: Set Traffic Mode and Route Ctx in ASPAC msg if set in VTY Related: OS#4220 Change-Id: Icce0e672f6180ebc92ca34f538d41161d02fecb9 --- M src/xua_asp_fsm.c 1 file changed, 33 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/17/15817/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Icce0e672f6180ebc92ca34f538d41161d02fecb9 Gerrit-Change-Number: 15817 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 Wed Oct 23 15:43:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 15:43:38 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 ) Change subject: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known ...................................................................... ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Related: OS#4220 --- M src/xua_asp_fsm.c 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/62/15862/1 diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 58ca224..8dadd04 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -235,9 +235,21 @@ case XUA_ASP_E_ASPTM_ASPAC_ACK: /* RFC3868 Ch. 3.6.2 */ xua->hdr = XUA_HDR(SUA_MSGC_ASPTM, SUA_ASPTM_ACTIVE_ACK); + rctx_cnt = xua_asp_get_rctx(asp, rctxs, ARRAY_SIZE(rctxs)); + /* Optional: Traffic Mode Type */ - /* Mandatory: Routing Context */ - //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, + if (rctx_cnt) { + as = osmo_ss7_as_find_by_rctx(asp->inst, rctxs[0]); + tmode = osmo_ss7_tmode_to_xua(as->cfg.mode); + if (as && tmode != -1) + xua_msg_add_u32(xua, SUA_IEI_TRAF_MODE_TYP, tmode); + } + /* Optional: Routing Context */ + if (rctx_cnt) { + for (i = 0; i < rctx_cnt; i++) + rctxs[i] = htonl(rctxs[i]); + xua_msg_add_data(xua, SUA_IEI_ROUTE_CTX, rctx_cnt * sizeof(uint32_t), (uint8_t *) &rctxs[0]); + } /* Optional: Info String */ break; case XUA_ASP_E_ASPTM_ASPIA: -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Gerrit-Change-Number: 15862 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 Oct 23 15:59:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 15:59:36 +0000 Subject: Change in docker-playground[master]: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15863 ) Change subject: Fix trailing whitespace ...................................................................... Fix trailing whitespace Change-Id: Ib51a84560bad521d0adf4bb883c10418c51468a2 --- M make/Makefile M osmo-bsc-master/Dockerfile 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/15863/1 diff --git a/make/Makefile b/make/Makefile index 000db25..4b40da5 100644 --- a/make/Makefile +++ b/make/Makefile @@ -88,9 +88,9 @@ release: build push -push: do-push post-push +push: do-push post-push -do-push: +do-push: docker push $(IMAGE):latest [ -f .release ] && docker push $(IMAGE):$(VERSION) @@ -100,13 +100,13 @@ @. $(RELEASE_SUPPORT); getVersion tag-patch-release: VERSION := $(shell . $(RELEASE_SUPPORT); nextPatchLevel) -tag-patch-release: .release tag +tag-patch-release: .release tag tag-minor-release: VERSION := $(shell . $(RELEASE_SUPPORT); nextMinorLevel) -tag-minor-release: .release tag +tag-minor-release: .release tag tag-major-release: VERSION := $(shell . $(RELEASE_SUPPORT); nextMajorLevel) -tag-major-release: .release tag +tag-major-release: .release tag patch-release: tag-patch-release release @echo $(VERSION) diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index cb80c4a..3c3f90a 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -46,4 +46,4 @@ WORKDIR /data CMD ["/usr/local/bin/osmo-bsc"] -#EXPOSE +#EXPOSE -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib51a84560bad521d0adf4bb883c10418c51468a2 Gerrit-Change-Number: 15863 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 Oct 23 15:59:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 15:59:37 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-sccplite: Enable color output in log file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15864 ) Change subject: ttcn3-bsc-sccplite: Enable color output in log file ...................................................................... ttcn3-bsc-sccplite: Enable color output in log file Change-Id: I63932a9d2aafad68624aee3e42bef0bd4c2c4717 --- M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/64/15864/1 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 0ef5135..fb0600a 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -9,7 +9,7 @@ ! log file /data/osmo-bsc.log logging filter all 1 - logging color 0 + logging color 1 logging print category 1 logging timestamp 1 logging print extended-timestamp 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63932a9d2aafad68624aee3e42bef0bd4c2c4717 Gerrit-Change-Number: 15864 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 Oct 23 16:09:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 16:09:50 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15865 ) Change subject: ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr assigned ...................................................................... ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr assigned If no IP addr is assigned yet, until know it'd print "(:3456". Let's print ":34456" in that scenario. Change-Id: Iae85d231093b6f3ce6b969324699858e525c14ea --- M src/osmo_ss7.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/65/15865/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index e7e688d..5da0da8 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1074,7 +1074,7 @@ if (buf_len < 3) return -EINVAL; - if (peer->host_cnt != 1) { + if (peer->host_cnt > 1) { ret = snprintf(buf, rem, "("); if (ret < 0) return ret; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iae85d231093b6f3ce6b969324699858e525c14ea Gerrit-Change-Number: 15865 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 Oct 23 16:29:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 16:29:09 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix finding by socket addr if local ip addr is 0.0.0.0 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15866 ) Change subject: ss7: Fix finding by socket addr if local ip addr is 0.0.0.0 ...................................................................... ss7: Fix finding by socket addr if local ip addr is 0.0.0.0 Change-Id: I319e4983b35f63846ed7e8bfa8e8e3688c5d16e6 --- M src/osmo_ss7.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/66/15866/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 5da0da8..8a86af1 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1167,7 +1167,8 @@ continue; for (i = 0; i < asp->cfg.local.host_cnt; i++) { - if (!asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], hostbuf_l)) + bool is_any = !asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], "0.0.0.0"); + if (is_any || !strcmp(asp->cfg.local.host[i], hostbuf_l)) break; } if (i == asp->cfg.local.host_cnt) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I319e4983b35f63846ed7e8bfa8e8e3688c5d16e6 Gerrit-Change-Number: 15866 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 Oct 23 17:30:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 17:30:51 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 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-sccp/+/15866 to look at the new patch set (#2). Change subject: ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 ...................................................................... ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 Fixes: 80b135581909fef595d48436ab04dbcb147e3895 Change-Id: I319e4983b35f63846ed7e8bfa8e8e3688c5d16e6 --- M src/osmo_ss7.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/66/15866/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I319e4983b35f63846ed7e8bfa8e8e3688c5d16e6 Gerrit-Change-Number: 15866 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 Oct 23 17:30:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 17:30:52 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix finding asp by socket addr if it has no remote hosts configured References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15867 ) Change subject: ss7: Fix finding asp by socket addr if it has no remote hosts configured ...................................................................... ss7: Fix finding asp by socket addr if it has no remote hosts configured Fixes: 80b135581909fef595d48436ab04dbcb147e3895 Change-Id: I14a0132a4667cea75fc212dfeeef76d8509b991d --- M src/osmo_ss7.c 1 file changed, 8 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/67/15867/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 8a86af1..88c4922 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1174,12 +1174,15 @@ if (i == asp->cfg.local.host_cnt) continue; /* didn't match any local.host */ - for (i = 0; i < asp->cfg.remote.host_cnt; i++) { - if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) - break; + /* If no remote host was set, it's probably a server and hence we match any cli src */ + if (asp->cfg.remote.host_cnt) { + for (i = 0; i < asp->cfg.remote.host_cnt; i++) { + if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) + break; + } + if (i == asp->cfg.remote.host_cnt) + continue; /* didn't match any remote.host */ } - if (i == asp->cfg.remote.host_cnt) - continue; /* didn't match any remote.host */ return asp; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I14a0132a4667cea75fc212dfeeef76d8509b991d Gerrit-Change-Number: 15867 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 Oct 23 17:30:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 17:30:52 +0000 Subject: Change in libosmo-sccp[master]: vty: ss7: Make sure ASP has at least INET_ANY addr set if not configu... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15868 ) Change subject: vty: ss7: Make sure ASP has at least INET_ANY addr set if not configured in VTY ...................................................................... vty: ss7: Make sure ASP has at least INET_ANY addr set if not configured in VTY Several parts of the code expect an operative ASP to always have at least one local ip addr, be it INET_ANY (NULL, 0.0.0.0) or any specific IP address. This allows osmo_ss7_asp_find_by_socket_addr() matching incoming connectiongs against ASPs defined through VTY "asp" node with no "local-ip" cmd option specified. In that case, we assume the user wants it to bind/match against INET_ANY. Related: OS#3608 Fixes: 80b135581909fef595d48436ab04dbcb147e3895 Change-Id: Id4da0c778890c90cf5bfcf0fd3a7ecf165f2a6df --- M src/osmo_ss7_vty.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/68/15868/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 8169aaf..803d6cd 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1722,6 +1722,11 @@ switch (vty->node) { case L_CS7_ASP_NODE: asp = vty->index; + /* If no local addr was set */ + if (!asp->cfg.local.host_cnt) { + asp->cfg.local.host[0] = NULL; + asp->cfg.local.host_cnt = 1; + } osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id4da0c778890c90cf5bfcf0fd3a7ecf165f2a6df Gerrit-Change-Number: 15868 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 Oct 23 18:08:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:08:48 +0000 Subject: Change in libosmo-sccp[master]: vty: Fix write-config of local-ip and remote-ip commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15854 ) Change subject: vty: Fix write-config of local-ip and remote-ip commands ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7b01e53aa4bfd714467cbd729cfcf4dc12a64bd4 Gerrit-Change-Number: 15854 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 18:08: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 Oct 23 18:08:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:08:51 +0000 Subject: Change in libosmo-sccp[master]: vty: Fix write-config of local-ip and remote-ip commands In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15854 ) Change subject: vty: Fix write-config of local-ip and remote-ip commands ...................................................................... vty: Fix write-config of local-ip and remote-ip commands Fixes: CID#205338 Fixes: CID#205337 Change-Id: I7b01e53aa4bfd714467cbd729cfcf4dc12a64bd4 --- M src/osmo_ss7_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 8169aaf..23607ca 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -500,7 +500,7 @@ xs->cfg.local.port, VTY_NEWLINE); for (i = 0; i < xs->cfg.local.host_cnt; i++) { - if (xs->cfg.local.host) + if (xs->cfg.local.host[i]) vty_out(vty, " local-ip %s%s", xs->cfg.local.host[i], VTY_NEWLINE); } if (xs->cfg.accept_dyn_reg) @@ -698,11 +698,11 @@ if (asp->cfg.description) vty_out(vty, " description %s%s", asp->cfg.description, VTY_NEWLINE); for (i = 0; i < asp->cfg.local.host_cnt; i++) { - if (asp->cfg.local.host) + if (asp->cfg.local.host[i]) vty_out(vty, " local-ip %s%s", asp->cfg.local.host[i], VTY_NEWLINE); } for (i = 0; i < asp->cfg.remote.host_cnt; i++) { - if (asp->cfg.remote.host) + if (asp->cfg.remote.host[i]) vty_out(vty, " remote-ip %s%s", asp->cfg.remote.host[i], VTY_NEWLINE); } if (asp->cfg.qos_class) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7b01e53aa4bfd714467cbd729cfcf4dc12a64bd4 Gerrit-Change-Number: 15854 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge 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 Oct 23 18:08:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:08:58 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15855 ) Change subject: cosmetic: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic5bae0b69dcf24da8069709692b5687ad76239dc Gerrit-Change-Number: 15855 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 18:08: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 Oct 23 18:09:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:09:03 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15855 ) Change subject: cosmetic: Fix trailing whitespace ...................................................................... cosmetic: Fix trailing whitespace Change-Id: Ic5bae0b69dcf24da8069709692b5687ad76239dc --- M src/xua_asp_fsm.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index c5bd116..db4ffcb 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -1,6 +1,6 @@ /* SCCP M3UA / SUA ASP osmo_fsm according to RFC3868 4.3.1 */ /* (C) Copyright 2017 by Harald Welte - * + * * All Rights reserved. * * SPDX-License-Identifier: GPL-2.0+ @@ -36,7 +36,7 @@ * * translate incoming SUA/M3UA msg_class/msg_type to xua_asp_event * * propagate state transitions to XUA_AS_FSM via _onenter functiosn * * notify the Layer Management of any relevant changes - * * + * * */ /* According to RFC3868 Section 8 */ @@ -205,7 +205,7 @@ xua->hdr = XUA_HDR(SUA_MSGC_ASPTM, SUA_ASPTM_ACTIVE_ACK); /* Optional: Traffic Mode Type */ /* Mandatory: Routing Context */ - //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, + //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, /* Optional: Info String */ break; case XUA_ASP_E_ASPTM_ASPIA: -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic5bae0b69dcf24da8069709692b5687ad76239dc Gerrit-Change-Number: 15855 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 Wed Oct 23 18:09:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:09:37 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15865 ) Change subject: ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr assigned ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iae85d231093b6f3ce6b969324699858e525c14ea Gerrit-Change-Number: 15865 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 18:09: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 Oct 23 18:09:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:09:47 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15866 ) Change subject: ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I319e4983b35f63846ed7e8bfa8e8e3688c5d16e6 Gerrit-Change-Number: 15866 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 18:09: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 Oct 23 18:09:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:09:55 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix finding asp by socket addr if it has no remote hosts configured In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15867 ) Change subject: ss7: Fix finding asp by socket addr if it has no remote hosts configured ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I14a0132a4667cea75fc212dfeeef76d8509b991d Gerrit-Change-Number: 15867 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 18:09: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 Wed Oct 23 18:10:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:10:09 +0000 Subject: Change in libosmo-sccp[master]: vty: ss7: Make sure ASP has at least INET_ANY addr set if not configu... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15868 ) Change subject: vty: ss7: Make sure ASP has at least INET_ANY addr set if not configured in VTY ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id4da0c778890c90cf5bfcf0fd3a7ecf165f2a6df Gerrit-Change-Number: 15868 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 18:10: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 Oct 23 18:10:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:10:10 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15865 ) Change subject: ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr assigned ...................................................................... ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr assigned If no IP addr is assigned yet, until know it'd print "(:3456". Let's print ":34456" in that scenario. Change-Id: Iae85d231093b6f3ce6b969324699858e525c14ea --- M src/osmo_ss7.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index e7e688d..5da0da8 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1074,7 +1074,7 @@ if (buf_len < 3) return -EINVAL; - if (peer->host_cnt != 1) { + if (peer->host_cnt > 1) { ret = snprintf(buf, rem, "("); if (ret < 0) return ret; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iae85d231093b6f3ce6b969324699858e525c14ea Gerrit-Change-Number: 15865 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 Wed Oct 23 18:10:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:10:11 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15866 ) Change subject: ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 ...................................................................... ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0 Fixes: 80b135581909fef595d48436ab04dbcb147e3895 Change-Id: I319e4983b35f63846ed7e8bfa8e8e3688c5d16e6 --- M src/osmo_ss7.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 5da0da8..8a86af1 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1167,7 +1167,8 @@ continue; for (i = 0; i < asp->cfg.local.host_cnt; i++) { - if (!asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], hostbuf_l)) + bool is_any = !asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], "0.0.0.0"); + if (is_any || !strcmp(asp->cfg.local.host[i], hostbuf_l)) break; } if (i == asp->cfg.local.host_cnt) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I319e4983b35f63846ed7e8bfa8e8e3688c5d16e6 Gerrit-Change-Number: 15866 Gerrit-PatchSet: 3 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 Wed Oct 23 18:10:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:10:11 +0000 Subject: Change in libosmo-sccp[master]: ss7: Fix finding asp by socket addr if it has no remote hosts configured In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15867 ) Change subject: ss7: Fix finding asp by socket addr if it has no remote hosts configured ...................................................................... ss7: Fix finding asp by socket addr if it has no remote hosts configured Fixes: 80b135581909fef595d48436ab04dbcb147e3895 Change-Id: I14a0132a4667cea75fc212dfeeef76d8509b991d --- M src/osmo_ss7.c 1 file changed, 8 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 8a86af1..88c4922 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1174,12 +1174,15 @@ if (i == asp->cfg.local.host_cnt) continue; /* didn't match any local.host */ - for (i = 0; i < asp->cfg.remote.host_cnt; i++) { - if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) - break; + /* If no remote host was set, it's probably a server and hence we match any cli src */ + if (asp->cfg.remote.host_cnt) { + for (i = 0; i < asp->cfg.remote.host_cnt; i++) { + if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) + break; + } + if (i == asp->cfg.remote.host_cnt) + continue; /* didn't match any remote.host */ } - if (i == asp->cfg.remote.host_cnt) - continue; /* didn't match any remote.host */ return asp; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I14a0132a4667cea75fc212dfeeef76d8509b991d Gerrit-Change-Number: 15867 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 Wed Oct 23 18:10:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:10:11 +0000 Subject: Change in libosmo-sccp[master]: vty: ss7: Make sure ASP has at least INET_ANY addr set if not configu... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15868 ) Change subject: vty: ss7: Make sure ASP has at least INET_ANY addr set if not configured in VTY ...................................................................... vty: ss7: Make sure ASP has at least INET_ANY addr set if not configured in VTY Several parts of the code expect an operative ASP to always have at least one local ip addr, be it INET_ANY (NULL, 0.0.0.0) or any specific IP address. This allows osmo_ss7_asp_find_by_socket_addr() matching incoming connectiongs against ASPs defined through VTY "asp" node with no "local-ip" cmd option specified. In that case, we assume the user wants it to bind/match against INET_ANY. Related: OS#3608 Fixes: 80b135581909fef595d48436ab04dbcb147e3895 Change-Id: Id4da0c778890c90cf5bfcf0fd3a7ecf165f2a6df --- M src/osmo_ss7_vty.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 23607ca..fa3d5d1 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1722,6 +1722,11 @@ switch (vty->node) { case L_CS7_ASP_NODE: asp = vty->index; + /* If no local addr was set */ + if (!asp->cfg.local.host_cnt) { + asp->cfg.local.host[0] = NULL; + asp->cfg.local.host_cnt = 1; + } osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id4da0c778890c90cf5bfcf0fd3a7ecf165f2a6df Gerrit-Change-Number: 15868 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 Wed Oct 23 18:10:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:10:27 +0000 Subject: Change in docker-playground[master]: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15863 ) Change subject: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib51a84560bad521d0adf4bb883c10418c51468a2 Gerrit-Change-Number: 15863 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 18:10: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 Oct 23 18:10:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:10:37 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-sccplite: Enable color output in log file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15864 ) Change subject: ttcn3-bsc-sccplite: Enable color output in log file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63932a9d2aafad68624aee3e42bef0bd4c2c4717 Gerrit-Change-Number: 15864 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 18:10: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 Oct 23 18:11:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:11:17 +0000 Subject: Change in libosmo-sccp[master]: Log correct protocol during xua_accept_cb() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15830 ) Change subject: Log correct protocol during xua_accept_cb() ...................................................................... Log correct protocol during xua_accept_cb() This function is used for both actual SIGTRAN (M3UA, SUA over SCTP) as well as for IPA/SCCPLITE (over TCP). Having a static "SCTP" string in the log lines is confusing. Change-Id: Ic34ddbcd528cd871d9772665e1d0863896f33203 --- M src/osmo_ss7.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 88c4922..464f2f4 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1710,9 +1710,9 @@ struct osmo_stream_srv *srv; struct osmo_ss7_asp *asp; char *sock_name = osmo_sock_get_name(link, fd); + const char *proto_name = get_value_string(osmo_ss7_asp_protocol_vals, oxs->cfg.proto); - LOGP(DLSS7, LOGL_INFO, "%s: New %s connection accepted\n", - sock_name, get_value_string(osmo_ss7_asp_protocol_vals, oxs->cfg.proto)); + LOGP(DLSS7, LOGL_INFO, "%s: New %s connection accepted\n", sock_name, proto_name); if (oxs->cfg.proto == OSMO_SS7_ASP_PROT_IPA) { srv = osmo_stream_srv_create(oxs, link, fd, @@ -1737,9 +1737,9 @@ sock_name, asp->cfg.name); } else { if (!oxs->cfg.accept_dyn_reg) { - LOGP(DLSS7, LOGL_NOTICE, "%s: SCTP connection without matching " + LOGP(DLSS7, LOGL_NOTICE, "%s: %s connection without matching " "ASP definition and no dynamic registration enabled, terminating\n", - sock_name); + sock_name, proto_name); } else { char namebuf[32]; static uint32_t dyn_asp_num = 0; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic34ddbcd528cd871d9772665e1d0863896f33203 Gerrit-Change-Number: 15830 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 Oct 23 18:11:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:11:17 +0000 Subject: Change in libosmo-sccp[master]: xua_rkm: Print NOTICE log message if registration for wrong rctx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15831 ) Change subject: xua_rkm: Print NOTICE log message if registration for wrong rctx ...................................................................... xua_rkm: Print NOTICE log message if registration for wrong rctx Change-Id: Ifb70940e9edfad8c99473ec724dc52f5885561de --- M src/xua_rkm.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/xua_rkm.c b/src/xua_rkm.c index f1ac551..976d649 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -258,6 +258,8 @@ newly_assigned_as[(*nas_idx)++] = as; } else { /* not permitted to create dynamic RKM entries */ + LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: RCTX %u not found in configuration, and " + "dynamic RKM allocation not permitted; permission denied\n", rctx); msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_PERM_DENIED, 0); return -1; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ifb70940e9edfad8c99473ec724dc52f5885561de Gerrit-Change-Number: 15831 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 Oct 23 18:11:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 18:11:18 +0000 Subject: Change in libosmo-sccp[master]: xua_rkm: Don't permit de-registration of rctx with ASP active In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15832 ) Change subject: xua_rkm: Don't permit de-registration of rctx with ASP active ...................................................................... xua_rkm: Don't permit de-registration of rctx with ASP active Change-Id: Ie47eb205b397f3d2ce94c4ec3531664ed290a819 Closes: OS#4238 --- M src/xua_rkm.c 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 976d649..2d8a25e 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -30,6 +30,7 @@ #include "xua_internal.h" #include "xua_as_fsm.h" +#include "xua_asp_fsm.h" const struct value_string m3ua_rkm_reg_status_vals[] = { { M3UA_RKM_REG_SUCCESS, "SUCCESS" }, @@ -338,7 +339,11 @@ return -1; } - /* FIXME Reject if any ASP stillactively using this RCTX */ + /* Reject if ASP is still active */ + if (asp->fi->state == XUA_ASP_S_ACTIVE) { + msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_ASP_ACTIVE, 0); + return -1; + } rt = osmo_ss7_route_find_dpc(inst->rtable_system, as->cfg.routing_key.pc); if (!rt) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie47eb205b397f3d2ce94c4ec3531664ed290a819 Gerrit-Change-Number: 15832 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 Oct 23 18:11:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 18:11:21 +0000 Subject: Change in docker-playground[master]: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15863 ) Change subject: Fix trailing whitespace ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib51a84560bad521d0adf4bb883c10418c51468a2 Gerrit-Change-Number: 15863 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 18:11: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 Oct 23 18:11:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 18:11:24 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-sccplite: Enable color output in log file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15864 ) Change subject: ttcn3-bsc-sccplite: Enable color output in log file ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63932a9d2aafad68624aee3e42bef0bd4c2c4717 Gerrit-Change-Number: 15864 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 18:11: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 Oct 23 18:11:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 18:11:27 +0000 Subject: Change in docker-playground[master]: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15863 ) Change subject: Fix trailing whitespace ...................................................................... Fix trailing whitespace Change-Id: Ib51a84560bad521d0adf4bb883c10418c51468a2 --- M make/Makefile M osmo-bsc-master/Dockerfile 2 files changed, 6 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/make/Makefile b/make/Makefile index 000db25..4b40da5 100644 --- a/make/Makefile +++ b/make/Makefile @@ -88,9 +88,9 @@ release: build push -push: do-push post-push +push: do-push post-push -do-push: +do-push: docker push $(IMAGE):latest [ -f .release ] && docker push $(IMAGE):$(VERSION) @@ -100,13 +100,13 @@ @. $(RELEASE_SUPPORT); getVersion tag-patch-release: VERSION := $(shell . $(RELEASE_SUPPORT); nextPatchLevel) -tag-patch-release: .release tag +tag-patch-release: .release tag tag-minor-release: VERSION := $(shell . $(RELEASE_SUPPORT); nextMinorLevel) -tag-minor-release: .release tag +tag-minor-release: .release tag tag-major-release: VERSION := $(shell . $(RELEASE_SUPPORT); nextMajorLevel) -tag-major-release: .release tag +tag-major-release: .release tag patch-release: tag-patch-release release @echo $(VERSION) diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index cb80c4a..3c3f90a 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -46,4 +46,4 @@ WORKDIR /data CMD ["/usr/local/bin/osmo-bsc"] -#EXPOSE +#EXPOSE -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib51a84560bad521d0adf4bb883c10418c51468a2 Gerrit-Change-Number: 15863 Gerrit-PatchSet: 1 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 Wed Oct 23 18:11:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 23 Oct 2019 18:11:28 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-sccplite: Enable color output in log file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15864 ) Change subject: ttcn3-bsc-sccplite: Enable color output in log file ...................................................................... ttcn3-bsc-sccplite: Enable color output in log file Change-Id: I63932a9d2aafad68624aee3e42bef0bd4c2c4717 --- M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 0ef5135..fb0600a 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -9,7 +9,7 @@ ! log file /data/osmo-bsc.log logging filter all 1 - logging color 0 + logging color 1 logging print category 1 logging timestamp 1 logging print extended-timestamp 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63932a9d2aafad68624aee3e42bef0bd4c2c4717 Gerrit-Change-Number: 15864 Gerrit-PatchSet: 1 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 Wed Oct 23 21:25:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:25:31 +0000 Subject: Change in libosmo-sccp[master]: vty: Print traffic mode during show cs7 instance as In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 ) Change subject: vty: Print traffic mode during show cs7 instance as ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ief6b03f50751b8d8f4021e94d54f079681b64d51 Gerrit-Change-Number: 15801 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 21: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 Wed Oct 23 21:25:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:25:33 +0000 Subject: Change in libosmo-sccp[master]: vty: Print traffic mode during show cs7 instance as In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 ) Change subject: vty: Print traffic mode during show cs7 instance as ...................................................................... vty: Print traffic mode during show cs7 instance as Change-Id: Ief6b03f50751b8d8f4021e94d54f079681b64d51 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 29 insertions(+), 28 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index fa3d5d1..e11b3bc 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1040,9 +1040,9 @@ return CMD_WARNING; } - vty_out(vty, " Routing Routing Key Cic Cic%s", VTY_NEWLINE); - vty_out(vty, "AS Name State Context Dpc Si Opc Ssn Min Max%s", VTY_NEWLINE); - vty_out(vty, "------------ ------------ ---------- ------------- ---- ------------- --- ----- -----%s", VTY_NEWLINE); + vty_out(vty, " Routing Routing Key Cic Cic Traffic%s", VTY_NEWLINE); + vty_out(vty, "AS Name State Context Dpc Si Opc Ssn Min Max Mode%s", VTY_NEWLINE); + vty_out(vty, "------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- -------%s", VTY_NEWLINE); llist_for_each_entry(as, &inst->as_list, list) { if (filter && !strcmp(filter, "m3ua") && as->cfg.proto != OSMO_SS7_ASP_PROT_M3UA) @@ -1050,10 +1050,11 @@ if (filter && !strcmp(filter, "sua") && as->cfg.proto != OSMO_SS7_ASP_PROT_SUA) continue; /* FIXME: active filter */ - vty_out(vty, "%-12s %-12s %-10u %-13s %4s %13s %3s %5s %4s%s", + vty_out(vty, "%-12s %-12s %-10u %-13s %4s %13s %3s %5s %4s %10s%s", as->cfg.name, osmo_fsm_inst_state_name(as->fi), as->cfg.routing_key.context, osmo_ss7_pointcode_print(as->inst, as->cfg.routing_key.pc), - "", "", "", "", "", VTY_NEWLINE); + "", "", "", "", "", osmo_ss7_as_traffic_mode_name(as->cfg.mode), + VTY_NEWLINE); } return CMD_SUCCESS; } diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index b502367..74dc777 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -267,27 +267,27 @@ asp Specify ASP to be removed from this AS ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as all - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 0.0.0 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 0.0.0 loadshare ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as active - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 0.0.0 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 0.0.0 loadshare ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as sua - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as m3ua - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 0.0.0 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 0.0.0 loadshare ss7_asp_vty_test(config-cs7-as)# asp my-asp ss7_asp_vty_test(config-cs7-as)# routing-key 0 3.2.1 @@ -315,10 +315,10 @@ my-asp ? ASP_DOWN m3ua 127.0.0.200:12345 ss7_asp_vty_test(config)# do show cs7 instance 0 as all - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 3.2.1 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 3.2.1 loadshare @@ -356,10 +356,10 @@ ------------ ------------ ------------- ---- ----------------------- ---------- ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 as all - Routing Routing Key Cic Cic -AS Name State Context Dpc Si Opc Ssn Min Max ------------- ------------ ---------- ------------- ---- ------------- --- ----- ----- -my-ass AS_DOWN 0 3.2.1 + Routing Routing Key Cic Cic Traffic +AS Name State Context Dpc Si Opc Ssn Min Max Mode +------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- +my-ass AS_DOWN 0 3.2.1 loadshare ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 sccp timers -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ief6b03f50751b8d8f4021e94d54f079681b64d51 Gerrit-Change-Number: 15801 Gerrit-PatchSet: 6 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 Oct 23 21:25:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:25:48 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set default traffic-mode to override In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15856 ) Change subject: ss7: Set default traffic-mode to override ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I8570ed6634eb20c0f9e4b712de6592b6c3b77227 Gerrit-Change-Number: 15856 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 21:25: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 Oct 23 21:26:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:26:36 +0000 Subject: Change in libosmo-sccp[master]: ss7: Only override traffic mode from recv REG REQ if not set by VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 ) Change subject: ss7: Only override traffic mode from recv REG REQ if not set by VTY ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 Gerrit-Change-Number: 15804 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 21:26: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 Oct 23 21:33:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:33:00 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic Mode and Route Ctx in ASPAC msg if set in VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15817 ) Change subject: ss7: Set Traffic Mode and Route Ctx in ASPAC msg if set in VTY ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/15817/4/src/xua_asp_fsm.c File src/xua_asp_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15817/4/src/xua_asp_fsm.c at 220 PS4, Line 220: as = osmo_ss7_as_find_by_rctx(asp->inst, rctxs[0]); I guess the proper thing to do here is to check if all of them have the same traffic mode, not just blindly use the traffic mode set by the first routing context/AS and assume all other contexts/AS have the same. The full-blown spec-complete implementation would actually perform different ASP-ACTIVATE procedures for different (groups of) routing contexts, where all contexts within one group have the same traffic mode. But this is highly theoretical and nothing we want to do here. So either only support one routing context at all (and use that trfafic mode), or if you want to do multiple routing contexts in the ROUTE_CTX IE, then please check that they all agree in terms of the traffic mode. This way we don't support all features, but at least behave only correctly. https://gerrit.osmocom.org/c/libosmo-sccp/+/15817/4/src/xua_asp_fsm.c at 226 PS4, Line 226: if (rctx_cnt) { : for (i = 0; i < rctx_cnt; i++) : rctxs[i] = htonl(rctxs[i]); : xua_msg_add_data(xua, SUA_IEI_ROUTE_CTX, rctx_cnt * sizeof(uint32_t), (uint8_t *) &rctxs[0]); : } AFAIR I intentionally didn't add the routing contexts IE, as the ASP-ACTIVATE is automatically for all routing contexts if the optional IE is missing. Yes, we might add all of them, but I'm not sure what we gain by it - or whether we should mix it with the traffic-mode in one patch. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Icce0e672f6180ebc92ca34f538d41161d02fecb9 Gerrit-Change-Number: 15817 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 21:33:00 +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 Oct 23 21:36:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:36:18 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 ) Change subject: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/15862/1/src/xua_asp_fsm.c File src/xua_asp_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15862/1/src/xua_asp_fsm.c at 241 PS1, Line 241: if (rctx_cnt) { : as = osmo_ss7_as_find_by_rctx(asp->inst, rctxs[0]); : tmode = osmo_ss7_tmode_to_xua(as->cfg.mode); : if (as && tmode != -1) : xua_msg_add_u32(xua, SUA_IEI_TRAF_MODE_TYP, tmode); : } : /* Optional: Routing Context */ I think the condition whether or not to add these here is whether or not they were present in the ASPAC. This may not be the same as us having routing contexts configured in the AS object. I don't have a clear plan what to do, I'm just pointing out what I see as a possible inconsistency. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Gerrit-Change-Number: 15862 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 21:36:18 +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 Oct 23 21:40:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:40:31 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15719/5/src/gsm/gsm0502.c File src/gsm/gsm0502.c: https://gerrit.osmocom.org/c/libosmocore/+/15719/5/src/gsm/gsm0502.c at 181 PS5, Line 181: struct fn_remap_table *table = fn_remap_table_ptr[channel]; Thanks for implementing the table-lookup-table as per my earlier review comment. However, my review comment also contained something like ... you just have to do OSMO_ASSERT(channel > ARRAY_SIZE(fn_remap_table)). That part is missing here and we can have out-of-bound reads if some code should ever call us with some broken value for 'channel'. At runtime, the enum is just an int, and nothing guarantees that this value is within bounds. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 23 Oct 2019 21:40: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 Wed Oct 23 21:41:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:41:04 +0000 Subject: Change in osmo-msc[master]: LOG_TRANS for CC: always log CC state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15842 ) Change subject: LOG_TRANS for CC: always log CC state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I67be12c74c679ce684f8c0b9b4e0d96299849dc6 Gerrit-Change-Number: 15842 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 21:41: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 Wed Oct 23 21:41:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:41:25 +0000 Subject: Change in osmo-msc[master]: log which DTAP messages are sent to RAN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15843 ) Change subject: log which DTAP messages are sent to RAN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0cb8d1e3307737ffe53730c64bb984adacedb2da Gerrit-Change-Number: 15843 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 21:41: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 Wed Oct 23 21:41:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:41:27 +0000 Subject: Change in osmo-msc[master]: LOG_TRANS for CC: always log CC state In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15842 ) Change subject: LOG_TRANS for CC: always log CC state ...................................................................... LOG_TRANS for CC: always log CC state For all CC type transaction logging, log the current trans->cc.state string for all LOG_TRANS*() logging. Change-Id: I67be12c74c679ce684f8c0b9b4e0d96299849dc6 --- M include/osmocom/msc/transaction.h M src/libmsc/transaction.c M tests/msc_vlr/msc_vlr_test_call.err 3 files changed, 164 insertions(+), 146 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index 69cd652..cab0030 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -19,7 +19,7 @@ #define LOG_TRANS_CAT(trans, subsys, level, fmt, args...) \ LOGP(subsys, level, \ "trans(%s %s callref-0x%x tid-%u%s) " fmt, \ - (trans) ? trans_type_name((trans)->type) : "NULL", \ + (trans) ? trans_name(trans) : "NULL", \ (trans) ? ((trans)->msc_a ? (trans)->msc_a->c.fi->id : vlr_subscr_name((trans)->vsub)) : "NULL", \ (trans) ? (trans)->callref : 0, \ (trans) ? (trans)->transaction_id : 0, \ @@ -174,3 +174,5 @@ } return DMSC; } + +const char *trans_name(const struct gsm_trans *trans); diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 11cde93..94712cc 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -303,3 +303,19 @@ } } + +const char *trans_name(const struct gsm_trans *trans) +{ + static char namebuf[32]; + if (!trans) + return "NULL"; + switch (trans->type) { + case TRANS_CC: + snprintf(namebuf, sizeof(namebuf), "%s:%s", + trans_type_name(trans->type), gsm48_cc_state_name(trans->cc.state)); + return namebuf; + + default: + return trans_type_name(trans->type); + } +} diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index bbfa61b..1c9867f 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -284,24 +284,24 @@ DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000001 tid-8) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000001 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx SETUP in state NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state NULL -> INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) SETUP to 123 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_IND +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx SETUP in state NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state NULL -> INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) SETUP to 123 +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000001: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -312,21 +312,21 @@ MS <--Call Assignment-- MSC: callref=0x80000001 - Total time passed: 1.000023 s - The other call leg got established (not shown here), MNCC tells us so -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED +DMNCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_ALERTING: 8301 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND +DMNCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds +DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT: 8307 - DTAP matches expected message @@ -336,11 +336,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CONNECT_ACK -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx CONNECT_ACK in state CONNECT_IND -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T313 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CONNECT_IND -> ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_COMPL_IND +DCC trans(CC:CONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx CONNECT_ACK in state CONNECT_IND +DCC trans(CC:CONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T313 +DCC trans(CC:CONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CONNECT_IND -> ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DMNCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_COMPL_IND MSC --> MNCC: callref 0x80000001: MNCC_SETUP_COMPL_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) @@ -354,16 +354,16 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_DISCONNECT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx DISCONNECT in state ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state ACTIVE -> DISCONNECT_IND -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_DISC_IND +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx DISCONNECT in state ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state ACTIVE -> DISCONNECT_IND +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_DISC_IND MSC --> MNCC: callref 0x80000001: MNCC_DISC_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -372,13 +372,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx RELEASE_COMPL in state RELEASE_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T308 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T308 +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000001: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -625,7 +625,7 @@ - after a while, MNCC asks us to setup a call, causing Paging DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_gsm_cc: now used by 2 (attached,mncc_tx_to_gsm_cc) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_gsm_cc,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -708,12 +708,12 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Removing Paging Request -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + cc: now used by 2 (paging-response,cc) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -724,15 +724,15 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP) MS <--Call Assignment-- MSC: callref=0x423 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND +DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 1.000023 s @@ -740,11 +740,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_ALERTING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED +DMNCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND MSC --> MNCC: callref 0x423: MNCC_ALERT_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 2.000046 s @@ -752,17 +752,17 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CONNECT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CONNECT in state CALL_RECEIVED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> CONNECT_REQUEST -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_SETUP_CNF +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CONNECT in state CALL_RECEIVED +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> CONNECT_REQUEST +DMNCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_SETUP_CNF MSC --> MNCC: callref 0x423: MNCC_SETUP_CNF DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer +DMNCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ +DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds +DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST +DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT_ACK: 030f - DTAP matches expected message @@ -778,16 +778,16 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_DISCONNECT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx DISCONNECT in state ACTIVE -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state ACTIVE -> DISCONNECT_IND -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_DISC_IND +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx DISCONNECT in state ACTIVE +DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state ACTIVE -> DISCONNECT_IND +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_DISC_IND MSC --> MNCC: callref 0x423: MNCC_DISC_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ +DMNCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds +DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d - DTAP matches expected message @@ -796,13 +796,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx RELEASE_COMPL in state RELEASE_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF MSC --> MNCC: callref 0x423: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) Freeing transaction +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x0 tid-0) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -1049,7 +1049,7 @@ - after a while, MNCC asks us to setup a call, causing Paging DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_gsm_cc: now used by 2 (attached,mncc_tx_to_gsm_cc) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_gsm_cc,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -1132,12 +1132,12 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Removing Paging Request -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + cc: now used by 2 (paging-response,cc) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -1148,15 +1148,15 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds +DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP) MS <--Call Assignment-- MSC: callref=0x423 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND +DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 1.000023 s @@ -1164,11 +1164,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_ALERTING -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds +DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED +DMNCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND MSC --> MNCC: callref 0x423: MNCC_ALERT_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 16.000046 s @@ -1179,18 +1179,18 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + msc_a_fsm_releasing_onenter: now used by 4 (attached,CC,active-conn,msc_a_fsm_releasing_onenter) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 5 (attached,CC,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 4 (attached,CC,active-conn,msc_a_fsm_releasing_onenter) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) Freeing transaction +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds +DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d0802e1af - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF MSC --> MNCC: callref 0x423: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state RELEASE_REQ -> NULL +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state RELEASE_REQ -> NULL DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: - cc: now used by 0 (-) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_UNUSED @@ -1517,24 +1517,24 @@ DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000002 tid-8) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000002 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx SETUP in state NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state NULL -> INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) SETUP to 123 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_SETUP_IND +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx SETUP in state NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state NULL -> INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) SETUP to 123 +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000002: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1544,18 +1544,18 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ) MS <--Call Assignment-- MSC: callref=0x80000002 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DMNCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - Total time passed: 10.000023 s -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -1564,13 +1564,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx RELEASE_COMPL in state RELEASE_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending timer T308 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending timer T308 +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000002: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -1902,24 +1902,24 @@ DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN decode: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000003 tid-8) New transaction +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000003 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx SETUP in state NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state NULL -> INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) SETUP to 123 -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_SETUP_IND +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx SETUP in state NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state NULL -> INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) SETUP to 123 +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000003: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1929,30 +1929,30 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ) MS <--Call Assignment-- MSC: callref=0x80000003 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DMNCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - Despite our repeated CC Release Requests, the MS does not respond anymore - Total time passed: 10.000023 s -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - The CC Release times out and we still properly clear the conn - Total time passed: 20.000046 s -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) Freeing transaction -DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_REL_CNF +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) Freeing transaction +DMNCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000003: MNCC_REL_CNF -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state RELEASE_REQ -> NULL -DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 0 (-) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_A_EV_UNUSED -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I67be12c74c679ce684f8c0b9b4e0d96299849dc6 Gerrit-Change-Number: 15842 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Oct 23 21:41:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:41:27 +0000 Subject: Change in osmo-msc[master]: log which DTAP messages are sent to RAN In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15843 ) Change subject: log which DTAP messages are sent to RAN ...................................................................... log which DTAP messages are sent to RAN So far, the logging said only "RAN encode: BSSMAP: DTAP", but not *which* DTAP message, which is in fact a very interesting detail when reading osmo-msc logs. Change-Id: I0cb8d1e3307737ffe53730c64bb984adacedb2da --- M src/libmsc/msc_a.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err 10 files changed, 89 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/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 344b442..d99088e 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1579,10 +1579,10 @@ int msc_a_tx_dtap_to_i(struct msc_a *msc_a, struct msgb *dtap) { struct ran_msg ran_msg; + struct gsm48_hdr *gh = msgb_l3(dtap) ? : dtap->data; + uint8_t pdisc = gsm48_hdr_pdisc(gh); if (!msc_a) { - struct gsm48_hdr *gh = msgb_l3(dtap) ? : dtap->data; - uint8_t pdisc = gsm48_hdr_pdisc(gh); LOGP(DMSC, LOGL_ERROR, "Attempt to send DTAP to NULL MSC-A, dropping message: %s %s\n", gsm48_pdisc_name(pdisc), gsm48_pdisc_msgtype_name(pdisc, gsm48_hdr_msg_type(gh))); msgb_free(dtap); @@ -1594,6 +1594,9 @@ return sgs_iface_tx_dtap_ud(msc_a, dtap); } + LOG_MSC_A(msc_a, LOGL_DEBUG, "Sending DTAP: %s %s\n", + gsm48_pdisc_name(pdisc), gsm48_pdisc_msgtype_name(pdisc, gsm48_hdr_msg_type(gh))); + ran_msg = (struct ran_msg){ .msg_type = RAN_MSG_DTAP, .dtap = dtap, diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err index aa78cdb..c5dee0c 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err @@ -268,6 +268,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -395,6 +396,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1302,6 +1304,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1417,6 +1420,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1532,6 +1536,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -2563,6 +2568,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index 1c9867f..4724ec6 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -302,6 +302,7 @@ DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -317,6 +318,7 @@ DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_ALERTING DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_ALERTING: 8301 - DTAP matches expected message @@ -327,6 +329,7 @@ DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds DCC trans(CC:CALL_DELIVERED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CONNECT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT: 8307 - DTAP matches expected message @@ -364,6 +367,7 @@ DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -714,6 +718,7 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_SETUP DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -763,6 +768,7 @@ DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST DCC trans(CC:CONNECT_REQUEST IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE DCC trans(CC:ACTIVE IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CONNECT_ACK DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT_ACK: 030f - DTAP matches expected message @@ -788,6 +794,7 @@ DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds DCC trans(CC:DISCONNECT_IND IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d - DTAP matches expected message @@ -1138,6 +1145,7 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_SETUP DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -1183,6 +1191,7 @@ DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds DCC trans(CC:CALL_RECEIVED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d0802e1af - DTAP matches expected message @@ -1535,6 +1544,7 @@ DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1550,12 +1560,14 @@ DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST - Total time passed: 10.000023 s DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -1920,6 +1932,7 @@ DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED DCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1935,6 +1948,7 @@ DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds DCC trans(CC:MO_CALL_PROC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -1942,6 +1956,7 @@ - Despite our repeated CC Release Requests, the MS does not respond anymore - Total time passed: 10.000023 s DCC trans(CC:RELEASE_REQ IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: CC GSM48_MT_CC_RELEASE DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index 4905881..3145610 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -264,6 +264,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -427,6 +428,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -463,6 +465,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -892,6 +895,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1055,6 +1059,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1091,6 +1096,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1533,6 +1539,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -1844,6 +1851,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2108,6 +2116,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2373,6 +2382,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI_TMSI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2831,6 +2841,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -2994,6 +3005,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -3030,6 +3042,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index 4585e0f..e3949e9 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -497,6 +497,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -532,6 +533,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1195,6 +1197,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1230,6 +1233,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1487,6 +1491,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2089,6 +2094,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI_TMSI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -2751,6 +2757,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -2786,6 +2793,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -3393,6 +3401,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -3428,6 +3437,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -4013,6 +4023,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -4048,6 +4059,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err index d533976..3350431 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.err +++ b/tests/msc_vlr/msc_vlr_test_no_authen.err @@ -175,6 +175,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -294,6 +295,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -330,6 +332,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -670,6 +673,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -789,6 +793,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -825,6 +830,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1217,6 +1223,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -1467,6 +1474,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_IMEI_TMSI +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051802 - DTAP matches expected message @@ -1693,6 +1701,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -1913,6 +1922,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -2144,6 +2154,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -2342,6 +2353,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message @@ -2608,6 +2620,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index 5101b06..3de18bf 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -385,6 +385,7 @@ DRLL msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Dispatching 04.08 message: MM GSM48_MT_MM_CM_SERV_REQ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Cannot accept CM Service Request, conn already busy establishing authenticity DMM msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: -> CM SERVICE Reject cause: 22 +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_REJ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_REJ: 052216 DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -775,6 +776,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1010,6 +1012,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1027,6 +1030,7 @@ DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Rx CM SERVICE REQUEST cm_service_type=Short-Messaging-Service DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: re-using already accepted connection DREF msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + cm_service_sms: now used by 3 (2*cm_service_sms,rx_from_ms) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1249,6 +1253,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1506,6 +1511,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1550,6 +1556,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1804,6 +1811,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1825,6 +1833,7 @@ DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Rx CM SERVICE REQUEST cm_service_type=Short-Messaging-Service DMM msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: re-using already accepted connection DREF msc_a(IMSI-901700000004620:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + cm_service_sms: now used by 3 (sms,rx_from_ms,cm_service_sms) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1853,6 +1862,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -2125,6 +2135,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -2166,6 +2177,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_rest.err b/tests/msc_vlr/msc_vlr_test_rest.err index fb10e6a..4121a26 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.err +++ b/tests/msc_vlr/msc_vlr_test_rest.err @@ -435,6 +435,7 @@ DREF VLR subscr TMSI-0x23422342 - _lu_fsm_associate_vsub: now used by 1 (active-conn) DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_want_imsi() DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_IMSI +DBSSAP msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051801 - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 243f7e0..db158d6 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -160,6 +160,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -185,6 +186,7 @@ <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101033527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d0a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,active-conn,NCSS,gsm0911_gsup_rx) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,active-conn,NCSS) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Sending DTAP: NCSS GSM0480_MTYPE_RELEASE_COMPLETE DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d - DTAP matches expected message @@ -423,6 +425,7 @@ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for GSM 09.11 SS/USSD: Removing Paging Request DSS msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Paging succeeded DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + nc_ss: now used by 3 (rx_from_ms,paging-response,nc_ss) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: NCSS GSM0480_MTYPE_REGISTER DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_REGISTER: 0b3b1c15a11302010102013b300b04010f0406aa510c061b01 - DTAP matches expected message @@ -445,6 +448,7 @@ <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101030a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,NCSS,active-conn,gsm0911_gsup_rx) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,NCSS,active-conn) +DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: NCSS GSM0480_MTYPE_RELEASE_COMPLETE DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 0b2a - DTAP matches expected message diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err index cda55f5..62dc2d3 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.err +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err @@ -281,6 +281,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -445,6 +446,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -481,6 +483,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 +DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -884,6 +887,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED) DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521 DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST @@ -1050,6 +1054,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1086,6 +1091,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x04: 0904 - DTAP matches expected message @@ -1683,6 +1689,7 @@ DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x01 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1716,6 +1723,7 @@ DLSMS SMC(0) received CP-DATA DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 +DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Sending DTAP: SMS SMS:0x04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x04: 0904 - DTAP matches expected message -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0cb8d1e3307737ffe53730c64bb984adacedb2da Gerrit-Change-Number: 15843 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Oct 23 21:41:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:41:39 +0000 Subject: Change in osmo-msc[master]: log: drop duplicate MNCC log In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15844 ) Change subject: log: drop duplicate MNCC log ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I46055a4f7a6ae517772c6794faad8c775454974a Gerrit-Change-Number: 15844 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 21:41: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 Wed Oct 23 21:41:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:41:46 +0000 Subject: Change in osmo-msc[master]: log: drop duplicate MNCC log In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15844 ) Change subject: log: drop duplicate MNCC log ...................................................................... log: drop duplicate MNCC log Change-Id: I46055a4f7a6ae517772c6794faad8c775454974a --- M src/libmsc/gsm_04_08_cc.c 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index ed74e88..c50ec7f 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -1756,8 +1756,6 @@ return -EINVAL; } - LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(MNCC_RTP_CONNECT)); - osmo_sockaddr_str_from_32n(&rtp_addr, rtp->ip, rtp->port); rtp_stream_set_remote_addr(rtps, &rtp_addr); rtp_stream_commit(rtps); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I46055a4f7a6ae517772c6794faad8c775454974a Gerrit-Change-Number: 15844 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Oct 23 21:42:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:42:53 +0000 Subject: Change in osmo-msc[master]: log: ran_msg_a: tweak a message name In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15848 ) Change subject: log: ran_msg_a: tweak a message name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I691025cb957e9b87c8af2dc8eb741dcba6ca26e2 Gerrit-Change-Number: 15848 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 21:42: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 Wed Oct 23 21:43:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 23 Oct 2019 21:43:14 +0000 Subject: Change in osmo-msc[master]: send MNCC REL only if MNCC has actually started In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15849 ) Change subject: send MNCC REL only if MNCC has actually started ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I07b2b6c0ee33f5d3e0a060c10cf36d5c7c9f0d9b Gerrit-Change-Number: 15849 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 23 Oct 2019 21:43:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Thu Oct 24 00:02:06 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 24 Oct 2019 00:02:06 +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_#2452?= Message-ID: <217019616.467.1571875326337.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 22.32 KB...] CC logging.lo CC logging_syslog.lo CC logging_gsmtap.lo CC rate_ctr.lo CC gsmtap_util.lo CC crc16.lo CC panic.lo 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_generic.lo CC conv_acc.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 '/build/deps/libosmocore/src' make[4]: Nothing to be done for 'install-data-am'. /bin/mkdir -p '/build/deps/install/stow/libosmocore/lib' /bin/bash ../libtool --mode=install /usr/bin/install -c libosmocore.la '/build/deps/install/stow/libosmocore/lib' libtool: install: /usr/bin/install -c .libs/libosmocore.so.12.2.0 /build/deps/install/stow/libosmocore/lib/libosmocore.so.12.2.0 libtool: install: (cd /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib/libosmocore.la libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/build_bin:/sbin" ldconfig -n /build/deps/install/stow/libosmocore/lib ---------------------------------------------------------------------- Libraries have been installed in: /build/deps/install/stow/libosmocore/lib 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 '/build/deps/libosmocore/src' make[3]: Leaving directory '/build/deps/libosmocore/src' make[2]: Leaving directory '/build/deps/libosmocore/src' Making install in src/vty make[2]: Entering directory '/build/deps/libosmocore/src/vty' CC command.lo CC buffer.lo CC vty.lo CC vector.lo CC telnet_interface.lo CC logging_vty.lo CC utils.lo CC stats_vty.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 talloc_ctx_vty.lo CC fsm_vty.lo CC tdef_vty.lo CCLD libosmovty.la make[3]: Entering directory '/build/deps/libosmocore/src/vty' make[3]: Nothing to be done for 'install-data-am'. /bin/mkdir -p '/build/deps/install/stow/libosmocore/lib' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmovty.la '/build/deps/install/stow/libosmocore/lib' libtool: warning: relinking 'libosmovty.la' libtool: install: (cd /build/deps/libosmocore/src/vty; /bin/bash "/build/deps/libosmocore/libtool" --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -version-info 8:0:4 -no-undefined -o libosmovty.la -rpath /build/deps/install/stow/libosmocore/lib 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 /build/deps/install/stow/libosmocore/lib/libosmovty.so.4.4.0 libtool: install: (cd /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib/libosmovty.la libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/build_bin:/sbin" ldconfig -n /build/deps/install/stow/libosmocore/lib ---------------------------------------------------------------------- Libraries have been installed in: /build/deps/install/stow/libosmocore/lib 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 '/build/deps/libosmocore/src/vty' make[2]: Leaving directory '/build/deps/libosmocore/src/vty' Making install in src/codec make[2]: Entering directory '/build/deps/libosmocore/src/codec' CC gsm610.lo CC gsm620.lo CC gsm660.lo CC gsm690.lo CC ecu.lo CC ecu_fr.lo ecu_fr.c: In function ?ecu_fr_frame_in?: ecu_fr.c:194:2: warning: ?osmo_ecu_fr_reset? is deprecated: Use generic ECU abstraction layer instead [-Wdeprecated-declarations] osmo_ecu_fr_reset(fr, frame); ^~~~~~~~~~~~~~~~~ ecu_fr.c:133:6: note: declared here void osmo_ecu_fr_reset(struct osmo_ecu_fr_state *state, const uint8_t *frame) ^~~~~~~~~~~~~~~~~ ecu_fr.c: In function ?ecu_fr_frame_out?: ecu_fr.c:202:2: warning: ?osmo_ecu_fr_conceal? is deprecated: Use generic ECU abstraction layer instead [-Wdeprecated-declarations] if (osmo_ecu_fr_conceal(fr, frame_out) == 0) ^~ ecu_fr.c:147:5: note: declared here int osmo_ecu_fr_conceal(struct osmo_ecu_fr_state *state, uint8_t *frame) ^~~~~~~~~~~~~~~~~~~ CCLD libosmocodec.la make[3]: Entering directory '/build/deps/libosmocore/src/codec' make[3]: Nothing to be done for 'install-data-am'. /bin/mkdir -p '/build/deps/install/stow/libosmocore/lib' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmocodec.la '/build/deps/install/stow/libosmocore/lib' libtool: warning: relinking 'libosmocodec.la' libtool: install: (cd /build/deps/libosmocore/src/codec; /bin/bash "/build/deps/libosmocore/libtool" --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -version-info 1:1:1 -no-undefined -o libosmocodec.la -rpath /build/deps/install/stow/libosmocore/lib 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 /build/deps/install/stow/libosmocore/lib/libosmocodec.so.0.1.1 libtool: install: (cd /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib/libosmocodec.la libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/build_bin:/sbin" ldconfig -n /build/deps/install/stow/libosmocore/lib ---------------------------------------------------------------------- Libraries have been installed in: /build/deps/install/stow/libosmocore/lib 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 '/build/deps/libosmocore/src/codec' make[2]: Leaving directory '/build/deps/libosmocore/src/codec' Making install in src/gsm make[2]: Entering directory '/build/deps/libosmocore/src/gsm' 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 '/build/deps/libosmocore/src/gsm' CC a5.lo CC rxlev_stat.lo CC tlv_parser.lo CC gsm_utils.lo CC comp128.lo CC comp128v23.lo CC rsl.lo CC gsm48.lo /bin/bash: line 2: 6539 Illegal instruction (core dumped) /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 comp128.lo -MD -MP -MF $depbase.Tpo -c -o comp128.lo comp128.c make[3]: *** [comp128.lo] Error 132 make[3]: *** Waiting for unfinished jobs.... Makefile:613: recipe for target 'comp128.lo' failed 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") ^~~~~~~ make[3]: Leaving directory '/build/deps/libosmocore/src/gsm' Makefile:718: recipe for target 'install' failed make[2]: Leaving directory '/build/deps/libosmocore/src/gsm' make[2]: *** [install] Error 2 make[1]: *** [install-recursive] Error 1 Makefile:634: recipe for target 'install-recursive' failed make[1]: Leaving directory '/build/deps/libosmocore' make: *** [install] Error 2 Makefile:933: recipe for target 'install' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Thu Oct 24 06:53:24 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 24 Oct 2019 06:53:24 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#546?= In-Reply-To: <1156358721.454.1571813604236.JavaMail.jenkins@jenkins.osmocom.org> References: <1156358721.454.1571813604236.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1247572007.491.1571900004573.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.43 KB...] 320 0 0 320 140 obj/owhw/dfu_board_lowlevel.o 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied 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 Oct 24 08:41:27 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Oct 2019 08:41:27 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: Hello daniel, Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15719 to look at the new patch set (#6). Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... gsm0508: add functions to calculate beginning of a block The calculation of the beginning of a block for TCH/F, TCH/H and FACCH can be challenging since those channels are affected by the diagonal interleaving of the TCH channels. However, GSM 05.02 Section 7 Table 1 of 5 specifies how the blocks are distributed over the TDMA frame interval. Lets add a mapping function that is based on that table Related: OS#3803 Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm0502/gsm0502_test.c A tests/gsm0502/gsm0502_test.ok M tests/testsuite.at 7 files changed, 611 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/15719/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Thu Oct 24 08:47:43 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Oct 2019 08:47:43 +0000 Subject: Change in osmo-bts[master]: remove dummy UL measurement results for lost sacch frames In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14762 ) Change subject: remove dummy UL measurement results for lost sacch frames ...................................................................... Patch Set 1: Code-Review-1 There is also another problem I see here. The measurement indication is generated just before the _sched_compose_ph_data_ind(), if we remove it it will be added again anyway since the ph_data_ind has to contain measurement data when we attach measurement indications to the payload in the future. So probably its better to keep this rather than removing it and adding it again later. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfa123f8d02a9d8be1f6de6923fc2a8628020145 Gerrit-Change-Number: 14762 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 08:47: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 Oct 24 08:56:46 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Oct 2019 08:56:46 +0000 Subject: Change in osmo-bts[master]: remove dummy UL measurement results for lost sacch frames In-Reply-To: References: Message-ID: fixeria has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14762 ) Change subject: remove dummy UL measurement results for lost sacch frames ...................................................................... Removed Code-Review+1 by fixeria -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfa123f8d02a9d8be1f6de6923fc2a8628020145 Gerrit-Change-Number: 14762 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 24 09:08:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Oct 2019 09:08:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix: move TC_pcu_ptcch to a proper place References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15869 ) Change subject: BTS_Tests.ttcn: fix: move TC_pcu_ptcch to a proper place ...................................................................... BTS_Tests.ttcn: fix: move TC_pcu_ptcch to a proper place We have a module parameter 'mp_l1_supports_gprs' that indicates whether the L1 back-end (trxcon, virt_phy, or Calypso) does support PDCH and TBF management. The TC_pcu_ptcch does not require support of TBF management, only PDCH (namely PTCCH) needs to be supported. This is already implemented in trxcon, and can be easily implemented for Calypso. Change-Id: Id2e751e825a7a5128bc3f2e4677d8ef31174b501 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/15869/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 90281e3..25721e3 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6356,7 +6356,6 @@ execute( TC_pcu_deact_req_wrong_ts() ); execute( TC_pcu_ver_si13() ); if (mp_l1_supports_gprs) { - execute( TC_pcu_ptcch() ); execute( TC_pcu_data_req_pdtch() ); execute( TC_pcu_data_req_ptcch() ); execute( TC_pcu_data_req_wrong_bts() ); @@ -6364,6 +6363,7 @@ execute( TC_pcu_data_req_wrong_ts() ); execute( TC_pcu_data_req_ts_inactive() ); } + execute( TC_pcu_ptcch() ); execute( TC_pcu_data_req_agch() ); execute( TC_pcu_data_req_pch() ); execute( TC_pcu_data_req_imm_ass_pch() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id2e751e825a7a5128bc3f2e4677d8ef31174b501 Gerrit-Change-Number: 15869 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 Oct 24 11:05:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 11:05:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix: move TC_pcu_ptcch to a proper place In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15869 ) Change subject: BTS_Tests.ttcn: fix: move TC_pcu_ptcch to a proper place ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id2e751e825a7a5128bc3f2e4677d8ef31174b501 Gerrit-Change-Number: 15869 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 11:05: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 Oct 24 11:20:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 11:20:19 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 ) Change subject: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/15862/1/src/xua_asp_fsm.c File src/xua_asp_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15862/1/src/xua_asp_fsm.c at 241 PS1, Line 241: if (rctx_cnt) { : as = osmo_ss7_as_find_by_rctx(asp->inst, rctxs[0]); : tmode = osmo_ss7_tmode_to_xua(as->cfg.mode); : if (as && tmode != -1) : xua_msg_add_u32(xua, SUA_IEI_TRAF_MODE_TYP, tmode); : } : /* Optional: Routing Context */ > I think the condition whether or not to add these here is whether or not they were present in the AS [?] Reminder: related spec info can be found in https://tools.ietf.org/html/rfc4666#section-4.3.4.3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Gerrit-Change-Number: 15862 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 24 Oct 2019 11:20:19 +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 Oct 24 12:11:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 12:11:59 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set default traffic-mode to override In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15856 ) Change subject: ss7: Set default traffic-mode to override ...................................................................... ss7: Set default traffic-mode to override Change-Id: I8570ed6634eb20c0f9e4b712de6592b6c3b77227 --- M src/osmo_ss7.c M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 3 files changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 464f2f4..6c6e412 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -955,7 +955,7 @@ as->inst = inst; as->cfg.name = talloc_strdup(as, name); as->cfg.proto = proto; - as->cfg.mode = OSMO_SS7_AS_TMOD_LOADSHARE; + as->cfg.mode = OSMO_SS7_AS_TMOD_OVERRIDE; as->cfg.recovery_timeout_msec = 2000; as->cfg.routing_key.l_rk_id = find_free_l_rk_id(inst); as->fi = xua_as_fsm_start(as, LOGL_DEBUG); diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index e11b3bc..b068fec 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -994,7 +994,7 @@ continue; vty_out(vty, " asp %s%s", asp->cfg.name, VTY_NEWLINE); } - if (as->cfg.mode != OSMO_SS7_AS_TMOD_LOADSHARE) + if (as->cfg.mode != OSMO_SS7_AS_TMOD_OVERRIDE) vty_out(vty, " traffic-mode %s%s", osmo_ss7_as_traffic_mode_name(as->cfg.mode), VTY_NEWLINE); if (as->cfg.recovery_timeout_msec != 2000) { diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 74dc777..367c2d9 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -270,13 +270,13 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 0.0.0 loadshare +my-ass AS_DOWN 0 0.0.0 override ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as active Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 0.0.0 loadshare +my-ass AS_DOWN 0 0.0.0 override ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as sua Routing Routing Key Cic Cic Traffic @@ -287,7 +287,7 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 0.0.0 loadshare +my-ass AS_DOWN 0 0.0.0 override ss7_asp_vty_test(config-cs7-as)# asp my-asp ss7_asp_vty_test(config-cs7-as)# routing-key 0 3.2.1 @@ -318,7 +318,7 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 3.2.1 loadshare +my-ass AS_DOWN 0 3.2.1 override @@ -359,7 +359,7 @@ Routing Routing Key Cic Cic Traffic AS Name State Context Dpc Si Opc Ssn Min Max Mode ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- ------- -my-ass AS_DOWN 0 3.2.1 loadshare +my-ass AS_DOWN 0 3.2.1 override ss7_asp_vty_test(config-cs7)# do show cs7 instance 0 sccp timers -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I8570ed6634eb20c0f9e4b712de6592b6c3b77227 Gerrit-Change-Number: 15856 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 Thu Oct 24 12:20:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Oct 2019 12:20:01 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... Patch Set 6: Code-Review+1 (2 comments) Looks good to me in general. https://gerrit.osmocom.org/c/libosmocore/+/15719/6/src/gsm/gsm0502.c File src/gsm/gsm0502.c: https://gerrit.osmocom.org/c/libosmocore/+/15719/6/src/gsm/gsm0502.c at 175 PS6, Line 175: unsigned int We mostly use uint32_t for TDMA frame numbers, but that's not critical. https://gerrit.osmocom.org/c/libosmocore/+/15719/6/src/gsm/gsm0502.c at 183 PS6, Line 183: ARRAY_SIZE(fn_remap_table_ptr) Feel free to use FN_REMAP_MAX here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 24 Oct 2019 12:20: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 Oct 24 12:43:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 12:43:26 +0000 Subject: Change in libosmocore[master]: vty: Return error if cmd returns CMD_WARNING while reading cfg file 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/+/15827 to look at the new patch set (#2). Change subject: vty: Return error if cmd returns CMD_WARNING while reading cfg file ...................................................................... vty: Return error if cmd returns CMD_WARNING while reading cfg file Otherwise bad configurations can easily sneak in and produce unexpected behavior. Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 --- M src/vty/command.c M tests/Makefile.am A tests/vty/fail_cmd_ret_warning.cfg M tests/vty/vty_test.c M tests/vty/vty_test.ok 5 files changed, 29 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/27/15827/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Gerrit-Change-Number: 15827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Thu Oct 24 12:48:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Oct 2019 12:48:49 +0000 Subject: Change in libosmocore[master]: vty: Return error if cmd returns CMD_WARNING while reading cfg file In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15827 ) Change subject: vty: Return error if cmd returns CMD_WARNING while reading cfg file ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Gerrit-Change-Number: 15827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 24 Oct 2019 12:48: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 Oct 24 12:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 24 Oct 2019 12:54:01 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15757 ) Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15757/3/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/15757/3/src/osmo-bts-trx/scheduler_trx.c at 49 PS3, Line 49: #include This block lists the local includes. Let's move this include closer to '#include '. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 24 Oct 2019 12:54: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 Oct 24 13:02:39 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 24 Oct 2019 13:02:39 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: Hello fixeria, daniel, Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15719 to look at the new patch set (#7). Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... gsm0508: add functions to calculate beginning of a block The calculation of the beginning of a block for TCH/F, TCH/H and FACCH can be challenging since those channels are affected by the diagonal interleaving of the TCH channels. However, GSM 05.02 Section 7 Table 1 of 5 specifies how the blocks are distributed over the TDMA frame interval. Lets add a mapping function that is based on that table Related: OS#3803 Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm0502/gsm0502_test.c A tests/gsm0502/gsm0502_test.ok M tests/testsuite.at 7 files changed, 611 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/15719/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 24 13:43:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 13:43:04 +0000 Subject: Change in libosmocore[master]: socket.c: build multiaddr socket API helpers only if used by public APIs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15870 ) Change subject: socket.c: build multiaddr socket API helpers only if used by public APIs ...................................................................... socket.c: build multiaddr socket API helpers only if used by public APIs Those two functions are only used by osmo_sock_init2_multiaddr(), which is only built if HAVE_LIBSCTP is defined. Avoid compiler warning about unusued function helpers if osmo_sock_init2_multiaddr() is not being built. Change-Id: I52769d6b8f70af1a8bda23d60b3230a932e71fab --- M src/socket.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/70/15870/1 diff --git a/src/socket.c b/src/socket.c index 4752881..9b1d30e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -100,6 +100,7 @@ return result; } +#ifdef HAVE_LIBSCTP /*! Retrieve an array of addrinfo with specified hints, one for each host in the hosts array. * \param[out] addrinfo array of addrinfo pointers, will be filled by the function on success. * Its size must be at least the one of hosts. @@ -127,6 +128,7 @@ } return 0; } +#endif /* HAVE_LIBSCTP*/ static int socket_helper(const struct addrinfo *rp, unsigned int flags) { @@ -150,6 +152,7 @@ return sfd; } +#ifdef HAVE_LIBSCTP /* Fill buf with a string representation of the address set, in the form: * buf_len == 0: "()" * buf_len == 1: "hostA" @@ -181,6 +184,7 @@ return len; } +#endif /* HAVE_LIBSCTP */ static int osmo_sock_init_tail(int fd, uint16_t type, unsigned int flags) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I52769d6b8f70af1a8bda23d60b3230a932e71fab Gerrit-Change-Number: 15870 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 Oct 24 13:43:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 13:43:05 +0000 Subject: Change in libosmocore[master]: configure: Introduce --disable-libsctp and error by default if libsct... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15871 ) Change subject: configure: Introduce --disable-libsctp and error by default if libsctp not found ...................................................................... configure: Introduce --disable-libsctp and error by default if libsctp not found This way libosmocore build fails during configuring phase if expected default behavior (building with libsctp support enabled and providing osmo_sock_init2_multiaddr() API) fails. User is still provided with --disable-libsctp option in case he doesn't need those features or his environment doesn't provide required libsctp APIs. Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f --- M configure.ac 1 file changed, 17 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/15871/1 diff --git a/configure.ac b/configure.ac index 2f12d86..6c54e66 100644 --- a/configure.ac +++ b/configure.ac @@ -100,17 +100,6 @@ AC_CHECK_FUNCS(clock_gettime localtime_r) -old_LIBS=$LIBS -AC_SEARCH_LIBS([sctp_bindx], [sctp], [ - AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) - AC_SUBST(HAVE_LIBSCTP, [1]) - if test -n "$ac_lib"; then - AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) - fi - ], [ - AC_MSG_WARN([sctp_bindx not found in searched libs])]) -LIBS=$old_LIBS - AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ AC_CACHE_CHECK( [whether struct tm has tm_gmtoff member], @@ -171,6 +160,22 @@ AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS as a fallback for missing getrandom()]) fi +AC_ARG_ENABLE([libsctp], [AS_HELP_STRING([--disable-libsctp], [Do not enable socket multiaddr APIs requiring libsctp])], + [ENABLE_LIBSCTP=$enableval], [ENABLE_LIBSCTP="yes"]) +AM_CONDITIONAL(ENABLE_LIBSCTP, test x"$ENABLE_LIBSCTP" = x"yes") +AS_IF([test "x$ENABLE_LIBSCTP" = "xyes"], [ + old_LIBS=$LIBS + AC_SEARCH_LIBS([sctp_bindx], [sctp], [ + AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) + AC_SUBST(HAVE_LIBSCTP, [1]) + if test -n "$ac_lib"; then + AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) + fi + ], [ + AC_MSG_ERROR([sctp_bindx not found in searched libs])]) + LIBS=$old_LIBS +]) + AC_ARG_ENABLE(plugin, [AS_HELP_STRING( [--disable-plugin], @@ -279,6 +284,7 @@ AM_CONDITIONAL(ENABLE_UTILITIES, false) AM_CONDITIONAL(ENABLE_GB, false) AM_CONDITIONAL(ENABLE_GNUTLS, false) + AM_CONDITIONAL(ENABLE_LIBSCTP, false) AM_CONDITIONAL(ENABLE_PCSC, false) AM_CONDITIONAL(ENABLE_PSEUDOTALLOC, true) AM_CONDITIONAL(ENABLE_SERCOM_STUB, true) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f Gerrit-Change-Number: 15871 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 Oct 24 13:56:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 13:56:53 +0000 Subject: Change in libosmocore[master]: configure: Introduce --disable-libsctp and error by default if libsct... 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/+/15871 to look at the new patch set (#2). Change subject: configure: Introduce --disable-libsctp and error by default if libsctp not found ...................................................................... configure: Introduce --disable-libsctp and error by default if libsctp not found This way libosmocore build fails during configuring phase if expected default behavior (building with libsctp support enabled and providing osmo_sock_init2_multiaddr() API) fails. User is still provided with --disable-libsctp option in case he doesn't need those features or his environment doesn't provide required libsctp APIs. Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f --- M configure.ac M contrib/jenkins_arm.sh 2 files changed, 18 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/15871/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f Gerrit-Change-Number: 15871 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 Oct 24 14:46:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 14:46:58 +0000 Subject: Change in docker-playground[master]: Introduce ttcn3-stp-test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15872 ) Change subject: Introduce ttcn3-stp-test ...................................................................... Introduce ttcn3-stp-test Currently builds from osmo-ttcn3-hacks.git branch laforge/stp instead of master, since it's only available in the former branch. Once it gets merged, we can modify Dockerfile as explained in it. OS#4220 Change-Id: I635c891f5da7b8c59527abbad14d7377465d1045 --- A ttcn3-stp-test/Dockerfile A ttcn3-stp-test/Makefile A ttcn3-stp-test/STP_Tests.cfg A ttcn3-stp-test/jenkins.sh A ttcn3-stp-test/osmo-stp.cfg 5 files changed, 164 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/72/15872/1 diff --git a/ttcn3-stp-test/Dockerfile b/ttcn3-stp-test/Dockerfile new file mode 100644 index 0000000..7e671b3 --- /dev/null +++ b/ttcn3-stp-test/Dockerfile @@ -0,0 +1,40 @@ +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 + +# FIXME: Once M3UA dep update patches in laforge/stp is merged into master, the +# line checking it out can be removed. +RUN cd osmo-ttcn3-hacks && \ + git checkout -f -B master origin/master && \ + git fetch && git checkout -f -B laforge/stp origin/laforge/stp && \ + make deps + +RUN git config --global user.email docker at dock.er && \ + git config --global user.name "Dock Er" + +# FIXME: Once STP patches in laforge/stp are merged into master, then +# OSMO_TTCN3_BRANCH can be set again to "master". +ARG OSMO_TTCN3_BRANCH="laforge/stp" + +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 stp + +VOLUME /data + +RUN ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-start.sh / && \ + ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-stop.sh / + +COPY STP_Tests.cfg /data/STP_Tests.cfg + +CMD cd /data && \ + /osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/stp/STP_Tests; \ + exit_code=$?; \ + /osmo-ttcn3-hacks/log_merge.sh STP_Tests --rm; \ + exit $exit_code diff --git a/ttcn3-stp-test/Makefile b/ttcn3-stp-test/Makefile new file mode 100644 index 0000000..cbcd544 --- /dev/null +++ b/ttcn3-stp-test/Makefile @@ -0,0 +1,3 @@ +RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.2.202 -v ggsn-test-vol:/data + +include ../make/Makefile diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg new file mode 100644 index 0000000..f41aded --- /dev/null +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -0,0 +1,20 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/stp/STP_Tests.default" + +[LOGGING] +*.JUnitLogger.testsuite_name := "STP_Tests" + +[TESTPORT_PARAMETERS] +*.VTY.CTRL_HOSTNAME := "172.18.19.200" + +[MODULE_PARAMETERS] +STP_Tests_Common.mp_stp_ip := "172.18.19.200"; +STP_Tests_Common.mp_local_ip := "172.18.19.203"; + + + +[MAIN_CONTROLLER] + +[EXECUTE] +STP_Tests.control diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh new file mode 100755 index 0000000..7bb0337 --- /dev/null +++ b/ttcn3-stp-test/jenkins.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-stretch-build" \ + "osmo-stp-$IMAGE_SUFFIX" \ + "debian-stretch-titan" \ + "ttcn3-stp-test" + +mkdir $VOL_BASE_DIR/stp-tester +cp STP_Tests.cfg $VOL_BASE_DIR/stp-tester/ + +mkdir $VOL_BASE_DIR/stp +cp osmo-stp.cfg $VOL_BASE_DIR/stp/ + +network_create 172.18.19.0/24 + +echo Starting container with STP +docker run --rm \ + --network $NET_NAME --ip 172.18.19.200 \ + -v $VOL_BASE_DIR/stp:/data \ + --name ${BUILD_TAG}-stp -d \ + $REPO_USER/osmo-stp-$IMAGE_SUFFIX + +echo Starting container with STP testsuite +docker run --rm \ + --network $NET_NAME --ip 172.18.19.203 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/stp-tester:/data \ + --name ${BUILD_TAG}-ttcn3-stp-test \ + $REPO_USER/ttcn3-stp-test + +docker container kill ${BUILD_TAG}-stp + +network_remove +collect_logs diff --git a/ttcn3-stp-test/osmo-stp.cfg b/ttcn3-stp-test/osmo-stp.cfg new file mode 100644 index 0000000..e16cd8b --- /dev/null +++ b/ttcn3-stp-test/osmo-stp.cfg @@ -0,0 +1,64 @@ +! +! OsmoSTP (1.1.0.2-3884) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category-hex 1 + logging print category 1 + logging timestamp 0 + logging print file 1 + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + 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 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp notice + logging level ljibuf notice + logging level lrspro notice +! +stats interval 5 +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + point-code format 24 + asp asp-sender 9999 2905 m3ua + local-ip 172.18.19.200 + remote-ip 172.18.19.203 + asp asp-receiver0 10000 2905 m3ua + local-ip 172.18.19.200 + remote-ip 172.18.19.203 + asp asp-receiver1 10001 2905 m3ua + local-ip 172.18.19.200 + remote-ip 172.18.19.203 + as as-sender m3ua + asp asp-sender + routing-key 1023 23 + as as-receiver m3ua + asp asp-receiver0 + routing-key 1042 42 + as mahlzeit ipa + routing-key 0 5 + point-code override dpc 23 + route-table system + update route 23 16777215 linkset as-sender + update route 42 16777215 linkset as-receiver + listen m3ua 2905 + accept-asp-connections dynamic-permitted + listen ipa 5000 + accept-asp-connections dynamic-permitted -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I635c891f5da7b8c59527abbad14d7377465d1045 Gerrit-Change-Number: 15872 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 Oct 24 14:51:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 14:51:18 +0000 Subject: Change in osmo-ci[master]: jobs: Introduce ttcn3-step-test(-latest) jenkins job References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15873 ) Change subject: jobs: Introduce ttcn3-step-test(-latest) jenkins job ...................................................................... jobs: Introduce ttcn3-step-test(-latest) jenkins job Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/73/15873/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 3d1731a..7bd72db 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -41,6 +41,8 @@ timer: 30 08 * * * - ttcn3-remsim-test: timer: 00 09 * * * + - ttcn3-stp-test: + timer: 30 09 * * * # latest stable - nplab-m3ua-test-latest: @@ -73,6 +75,8 @@ blocking: "^ttcn3-bscnat-test.*" - ttcn3-remsim-test-latest: blocking: "^ttcn3-remsim-test.*" + - ttcn3-stp-test-latest: + blocking: "^ttcn3-stp-test.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 Gerrit-Change-Number: 15873 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 Oct 24 14:52:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 14:52:16 +0000 Subject: Change in osmo-ci[master]: jobs: Introduce ttcn3-stp-test(-latest) jenkins job In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/15873 ) Change subject: jobs: Introduce ttcn3-stp-test(-latest) jenkins job ...................................................................... jobs: Introduce ttcn3-stp-test(-latest) jenkins job Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/73/15873/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 Gerrit-Change-Number: 15873 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 Thu Oct 24 14:54:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 14:54:41 +0000 Subject: Change in osmo-ci[master]: jobs: Introduce ttcn3-stp-test(-latest) jenkins job In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15873 ) Change subject: jobs: Introduce ttcn3-stp-test(-latest) jenkins job ...................................................................... Patch Set 2: Tests already created with jjb. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 Gerrit-Change-Number: 15873 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 14:54: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 Thu Oct 24 15:57:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 15:57:28 +0000 Subject: Change in libosmo-sccp[master]: xua: Verify all route ctxs received in ASPAC msg References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15874 ) Change subject: xua: Verify all route ctxs received in ASPAC msg ...................................................................... xua: Verify all route ctxs received in ASPAC msg Change-Id: I16ad0847d671522c8942b441db7e4c460f4f142b --- M src/xua_asp_fsm.c 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/74/15874/1 diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index db4ffcb..1b39639 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -416,6 +416,9 @@ struct osmo_ss7_asp *asp = xafp->asp; struct xua_msg *xua_in; uint32_t traf_mode; + struct xua_msg_part *part; + uint32_t rctx; + int i; check_stop_t_ack(fi, event); switch (event) { @@ -456,11 +459,13 @@ break; } } - if (xua_msg_find_tag(xua_in, M3UA_IEI_ROUTE_CTX)) { - uint32_t rctx = xua_msg_get_u32(xua_in, M3UA_IEI_ROUTE_CTX); - if (!osmo_ss7_as_find_by_rctx(asp->inst, rctx)) { - peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX); - break; + if ((part = xua_msg_find_tag(xua_in, M3UA_IEI_ROUTE_CTX))) { + for (i = 0; i < part->len / sizeof(uint32_t); i++) { + rctx = osmo_load32be(&part->dat[i * sizeof(uint32_t)]); + if (!osmo_ss7_as_find_by_rctx(asp->inst, rctx)) { + peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX); + break; + } } } /* send ACK */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I16ad0847d671522c8942b441db7e4c460f4f142b Gerrit-Change-Number: 15874 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 Oct 24 15:57:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 24 Oct 2019 15:57:42 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 ) Change subject: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Gerrit-Change-Number: 15862 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 24 Oct 2019 15:57: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 Thu Oct 24 16:11:10 2019 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Thu, 24 Oct 2019 16:11:10 +0000 Subject: Change in simtrace2[master]: add/fix mcp23017 i2c gpio expander functions and tests References: Message-ID: roh has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/15875 ) Change subject: add/fix mcp23017 i2c gpio expander functions and tests ...................................................................... add/fix mcp23017 i2c gpio expander functions and tests Change-Id: Ia2e5a1bf3f97272931014e54e587109297556c03 --- M firmware/apps/gpio_test/gpio_test.c M firmware/libboard/octsimtest/include/i2c.h M firmware/libboard/octsimtest/include/mcp23017.h M firmware/libboard/octsimtest/source/board_octsimtest.c M firmware/libboard/octsimtest/source/i2c.c M firmware/libboard/octsimtest/source/mcp23017.c 6 files changed, 52 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/75/15875/1 diff --git a/firmware/apps/gpio_test/gpio_test.c b/firmware/apps/gpio_test/gpio_test.c index 2ab23e7..a6b0a00 100644 --- a/firmware/apps/gpio_test/gpio_test.c +++ b/firmware/apps/gpio_test/gpio_test.c @@ -2,9 +2,7 @@ #include "utils.h" #include "chip.h" - - void gpio_test_init(void) { - printf("FIXME run tests here\n\n"); + printf("FIXME run tests here\n\r"); } diff --git a/firmware/libboard/octsimtest/include/i2c.h b/firmware/libboard/octsimtest/include/i2c.h index 5a8c908..6c94d26 100644 --- a/firmware/libboard/octsimtest/include/i2c.h +++ b/firmware/libboard/octsimtest/include/i2c.h @@ -22,7 +22,7 @@ bool i2c_write_byte(bool send_start, bool send_stop, uint8_t byte); uint8_t i2c_read_byte(bool nack, bool send_stop); -static void i2c_stop_cond(void); +void i2c_stop_cond(void); int eeprom_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); int eeprom_read_byte(uint8_t slave, uint8_t addr); diff --git a/firmware/libboard/octsimtest/include/mcp23017.h b/firmware/libboard/octsimtest/include/mcp23017.h index dea6285..962a1d5 100644 --- a/firmware/libboard/octsimtest/include/mcp23017.h +++ b/firmware/libboard/octsimtest/include/mcp23017.h @@ -19,5 +19,7 @@ #define MCP23017_ADDRESS 0x20 int mcp23017_init(uint8_t slave); +int mcp23017_test(uint8_t slave); +int mcp23017_toggle(uint8_t slave); //int mcp23017_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); //int mcp23017_read_byte(uint8_t slave, uint8_t addr); diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 2772015..b7d7245 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -32,12 +32,20 @@ case '?': printf("\t?\thelp\n\r"); printf("\tR\treset SAM3\n\r"); + printf("\tm\trun mcp23017 test\n\r"); + printf("\tR\ttoggle MSB of gpio on mcp23017\n\r"); break; case 'R': printf("Asking NVIC to reset us\n\r"); USBD_Disconnect(); NVIC_SystemReset(); break; + case 'm': + mcp23017_test(MCP23017_ADDRESS); + break; + case 't': + mcp23017_toggle(MCP23017_ADDRESS); + break; default: printf("Unknown command '%c'\n\r", ch); break; @@ -50,7 +58,8 @@ usb_buf_init(); i2c_pin_init(); - mcp23017_init(MCP23017_ADDRESS); + if (!mcp23017_init(MCP23017_ADDRESS)) + printf("mcp23017 not found!\n\r"); /* Initialize checking for card insert/remove events */ //card_present_init(); #endif diff --git a/firmware/libboard/octsimtest/source/i2c.c b/firmware/libboard/octsimtest/source/i2c.c index a708704..2cd8423 100644 --- a/firmware/libboard/octsimtest/source/i2c.c +++ b/firmware/libboard/octsimtest/source/i2c.c @@ -96,7 +96,7 @@ i2c_started = true; } -static void i2c_stop_cond(void) +void i2c_stop_cond(void) { clear_sda(); set_scl(); diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index 63390b4..167bf34 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -94,13 +94,47 @@ int mcp23017_init(uint8_t slave) { - printf("mcp23017_init\n"); + printf("mcp23017_init\n\r"); // all gpio input if (mcp23017_write_byte(slave, MCP23017_IODIRA, 0xff)) return false; - if (mcp23017_write_byte(slave, MCP23017_IODIRB, 0xff)) + // msb of portb output, rest input + if (mcp23017_write_byte(slave, MCP23017_IODIRB, 0x7f)) return false; - printf("mcp23017 found\n"); + if (mcp23017_write_byte(slave, MCP23017_IOCONA, 0x20)) //disable SEQOP (autoinc addressing) + return false; + printf("mcp23017 found\n\r"); return true; } +int mcp23017_test(uint8_t slave) +{ + printf("mcp23017_test\n\r"); + printf("GPIOA 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_GPIOA)); + printf("GPIOB 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_GPIOB)); + printf("IODIRA 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IODIRA)); + printf("IODIRB 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IODIRB)); + printf("IOCONA 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IOCONA)); + printf("IOCONB 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IOCONB)); + + return 0; +} + +int mcp23017_toggle(uint8_t slave) +{ + // example writing MSB of gpio + static bool foo=false; + if (foo) + { + printf("+\n\r"); + mcp23017_write_byte(slave, MCP23017_OLATB, 0x80); + foo=false; + } + else + { + printf("-\n\r"); + mcp23017_write_byte(slave, MCP23017_OLATB, 0x00); + foo=true; + } + return 0; +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia2e5a1bf3f97272931014e54e587109297556c03 Gerrit-Change-Number: 15875 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Thu Oct 24 19:20:28 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 24 Oct 2019 19:20:28 +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_#2453?= In-Reply-To: <217019616.467.1571875326337.JavaMail.jenkins@jenkins.osmocom.org> References: <217019616.467.1571875326337.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <815393314.513.1571944828430.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Thu Oct 24 20:19:23 2019 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Thu, 24 Oct 2019 20:19:23 +0000 Subject: Change in libosmocore[master]: configure: Introduce --disable-libsctp and error by default if libsct... In-Reply-To: References: Message-ID: roox has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15871 ) Change subject: configure: Introduce --disable-libsctp and error by default if libsctp not found ...................................................................... Patch Set 2: Code-Review+2 I just did some tests and it works as designed. Thanks! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f Gerrit-Change-Number: 15871 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roox Gerrit-Comment-Date: Thu, 24 Oct 2019 20:19: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 Thu Oct 24 22:36:36 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 24 Oct 2019 22:36:36 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c File src/libmsc/ran_msg_iu.c: https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c at 402 PS1, Line 402: LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "DirectTransfer\n"); > I'm not following this commit. [?] When I wrote the RAN message de/encoding, I decided to put the string constants directly in the de/encoding functions; I only need to add 5 strings here, for the encoding; the decoding already has individual strings in each message type's decoding code path. We already have 1:1 separate code paths for each message, it doesn't make much sense to again iterate a value string array. An underlying idea was that each code path could add some details, like this DTAP could also log which enclosed DTAP message type is being encoded. But I didn't get around to that... (I also have some general dislike of the value_string design, because it has to iterate arrays for each and every value, but you can ignore that) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 22:36: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 Thu Oct 24 22:44:56 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 24 Oct 2019 22:44:56 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: > As I already pointed out, I'm not liking very much all these new APIs making common FSMs more complex which could probably be fixed ad-hoc pro specific FSM users by having a delete_cb being triggered when the fsm is going to be deleted. I disagree: these are common problems that I would have to solve individually for each FSM implementation, and instead I want to erase an entire class of problems for all FSM implementations in one libosmocore patch. A delete_cb is not what we need, instead we need to prevent deallocation problems in general. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 22:44: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 Thu Oct 24 22:52:10 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 24 Oct 2019 22:52:10 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15677/2/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/c/libosmocore/+/15677/2/src/fsm.c at 198 PS2, Line 198: void osmo_fsm_set_dealloc_ctx(void *ctx) > Should this be per fsm_instance? why limiting it to one given context for all instances? The choice to allow is whether to use osmo_select_main_ctx() or osmo_select_main() and/or a manual ctx cleanup. If I want safe deallocation behavior and make my main loop be able to do it, there is no conceivable reason why you would want individual FSM instances to not do that. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 22:52:10 +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 Oct 24 22:58:30 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 24 Oct 2019 22:58:30 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15833/1/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/c/libosmocore/+/15833/1/src/fsm.c at 221 PS1, Line 221: void osmo_fsm_set_term_stops_actions(bool term_stops_actions) > Again, why not per FSM instance? What if I want different instances to behave differently? Why would you want to dispatch events or allow state changes on FSM instances after osmo_fsm_inst_term()? If you can describe such a use case then let's add a flag per-instance. I don't see any at the moment, I think it should have been globally disabled from the start of osmo_fsm. The only reason why I am making this optional is to allow programs remain in legacy behavior, to avoid differences in logging and break C tests that verify log output. I recommend each main() to enable this feature globally as soon as possible. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 22:58: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 Thu Oct 24 23:04:22 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 24 Oct 2019 23:04:22 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str_is_nonzero() 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/+/15835 to look at the new patch set (#2). Change subject: add osmo_sockaddr_str_is_nonzero() ...................................................................... add osmo_sockaddr_str_is_nonzero() Often, an IP address of 0.0.0.0 is considered an unset value (for clients requiring a server address; not for listening on "any"). osmo_sockaddr_str_is_set() does return false when the port is 0, but there is no simple way to tell whether the IP address is actually set to a server address. Add osmo_sockaddr_str_is_nonzero() to return false if: - the port is zero, or - the IP address is zero (0.0.0.0 or ::0), or - the IP address cannot be parsed. A practical use example: osmo-msc so far accepts an RTP IP address of 0.0.0.0 as valid. I noticed when trying to trigger error handling from a ttcn3 test. osmo-msc can use this function to reject invalid addresses from MGCP messages. Related: I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd (osmo-msc) Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 --- M include/osmocom/core/sockaddr_str.h M src/sockaddr_str.c M tests/sockaddr_str/sockaddr_str_test.c M tests/sockaddr_str/sockaddr_str_test.ok 4 files changed, 87 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/15835/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 Gerrit-Change-Number: 15835 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 24 23:04:52 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 24 Oct 2019 23:04:52 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str_is_nonzero() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15835 ) Change subject: add osmo_sockaddr_str_is_nonzero() ...................................................................... Patch Set 2: > Where is this going to be used? thx, I added commit log -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 Gerrit-Change-Number: 15835 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 24 Oct 2019 23:04:52 +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 Oct 25 06:26:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Oct 2019 06:26:53 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 06: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 Fri Oct 25 06:33:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Oct 2019 06:33:40 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 06:33: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 Fri Oct 25 06:35:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Oct 2019 06:35:30 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: enable term_stops_actions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15834 ) Change subject: fsm_dealloc_test: enable term_stops_actions ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15834/1/tests/fsm/fsm_dealloc_test.c File tests/fsm/fsm_dealloc_test.c: https://gerrit.osmocom.org/c/libosmocore/+/15834/1/tests/fsm/fsm_dealloc_test.c at 457 PS1, Line 457: osmo_fsm_set_term_stops_actions So now you're testing the new behaviour only? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iff7843e12ce49f169f8c36b14fdb19935f61274d Gerrit-Change-Number: 15834 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 25 Oct 2019 06:35:30 +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 Oct 25 06:49:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Oct 2019 06:49:41 +0000 Subject: Change in libosmocore[master]: Add code coverage support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13496 ) Change subject: Add code coverage support ...................................................................... Patch Set 6: Code-Review+1 We definitely should move this work forward. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f4ffb91bd7f3dd070aa09dd16d5ad1faf130a4c Gerrit-Change-Number: 13496 Gerrit-PatchSet: 6 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Fri, 25 Oct 2019 06: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 Fri Oct 25 06:52:33 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Oct 2019 06:52:33 +0000 Subject: Change in libosmocore[master]: Add code coverage support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13496 ) Change subject: Add code coverage support ...................................................................... Patch Set 6: > Let me know if I have to modify some of the ansible playbooks. I am not sure if we should enable the coverage checks for every Jenkins build, maybe rather weekly or monthly. But still, you can find all playbooks / Dockerfiles at https://git.osmocom.org/osmo-ci/. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f4ffb91bd7f3dd070aa09dd16d5ad1faf130a4c Gerrit-Change-Number: 13496 Gerrit-PatchSet: 6 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Fri, 25 Oct 2019 06:52:33 +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 Oct 25 06:53:30 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 25 Oct 2019 06:53:30 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#547?= In-Reply-To: <1247572007.491.1571900004573.JavaMail.jenkins@jenkins.osmocom.org> References: <1247572007.491.1571900004573.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1498935454.546.1571986410120.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.48 KB...] 320 0 0 320 140 obj/owhw/dfu_board_lowlevel.o 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Fri Oct 25 07:15:30 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 25 Oct 2019 07:15:30 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: Hello fixeria, daniel, Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15719 to look at the new patch set (#8). Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... gsm0508: add functions to calculate beginning of a block The calculation of the beginning of a block for TCH/F, TCH/H and FACCH can be challenging since those channels are affected by the diagonal interleaving of the TCH channels. However, GSM 05.02 Section 7 Table 1 of 5 specifies how the blocks are distributed over the TDMA frame interval. Lets add a mapping function that is based on that table Related: OS#3803 Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm0502/gsm0502_test.c A tests/gsm0502/gsm0502_test.ok M tests/testsuite.at 7 files changed, 611 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/15719/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Oct 25 07:17:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 07:17:48 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Oct 2019 07:17: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 Oct 25 07:19:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 07:19:14 +0000 Subject: Change in docker-playground[master]: Introduce ttcn3-stp-test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15872 ) Change subject: Introduce ttcn3-stp-test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I635c891f5da7b8c59527abbad14d7377465d1045 Gerrit-Change-Number: 15872 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Oct 2019 07: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 Fri Oct 25 07:20:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 07:20:21 +0000 Subject: Change in simtrace2[master]: add/fix mcp23017 i2c gpio expander functions and tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15875 ) Change subject: add/fix mcp23017 i2c gpio expander functions and tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia2e5a1bf3f97272931014e54e587109297556c03 Gerrit-Change-Number: 15875 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Oct 2019 07:20: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 Oct 25 07:20:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 07:20:22 +0000 Subject: Change in simtrace2[master]: add/fix mcp23017 i2c gpio expander functions and tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15875 ) Change subject: add/fix mcp23017 i2c gpio expander functions and tests ...................................................................... add/fix mcp23017 i2c gpio expander functions and tests Change-Id: Ia2e5a1bf3f97272931014e54e587109297556c03 --- M firmware/apps/gpio_test/gpio_test.c M firmware/libboard/octsimtest/include/i2c.h M firmware/libboard/octsimtest/include/mcp23017.h M firmware/libboard/octsimtest/source/board_octsimtest.c M firmware/libboard/octsimtest/source/i2c.c M firmware/libboard/octsimtest/source/mcp23017.c 6 files changed, 52 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/apps/gpio_test/gpio_test.c b/firmware/apps/gpio_test/gpio_test.c index 2ab23e7..a6b0a00 100644 --- a/firmware/apps/gpio_test/gpio_test.c +++ b/firmware/apps/gpio_test/gpio_test.c @@ -2,9 +2,7 @@ #include "utils.h" #include "chip.h" - - void gpio_test_init(void) { - printf("FIXME run tests here\n\n"); + printf("FIXME run tests here\n\r"); } diff --git a/firmware/libboard/octsimtest/include/i2c.h b/firmware/libboard/octsimtest/include/i2c.h index 5a8c908..6c94d26 100644 --- a/firmware/libboard/octsimtest/include/i2c.h +++ b/firmware/libboard/octsimtest/include/i2c.h @@ -22,7 +22,7 @@ bool i2c_write_byte(bool send_start, bool send_stop, uint8_t byte); uint8_t i2c_read_byte(bool nack, bool send_stop); -static void i2c_stop_cond(void); +void i2c_stop_cond(void); int eeprom_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); int eeprom_read_byte(uint8_t slave, uint8_t addr); diff --git a/firmware/libboard/octsimtest/include/mcp23017.h b/firmware/libboard/octsimtest/include/mcp23017.h index dea6285..962a1d5 100644 --- a/firmware/libboard/octsimtest/include/mcp23017.h +++ b/firmware/libboard/octsimtest/include/mcp23017.h @@ -19,5 +19,7 @@ #define MCP23017_ADDRESS 0x20 int mcp23017_init(uint8_t slave); +int mcp23017_test(uint8_t slave); +int mcp23017_toggle(uint8_t slave); //int mcp23017_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); //int mcp23017_read_byte(uint8_t slave, uint8_t addr); diff --git a/firmware/libboard/octsimtest/source/board_octsimtest.c b/firmware/libboard/octsimtest/source/board_octsimtest.c index 2772015..b7d7245 100644 --- a/firmware/libboard/octsimtest/source/board_octsimtest.c +++ b/firmware/libboard/octsimtest/source/board_octsimtest.c @@ -32,12 +32,20 @@ case '?': printf("\t?\thelp\n\r"); printf("\tR\treset SAM3\n\r"); + printf("\tm\trun mcp23017 test\n\r"); + printf("\tR\ttoggle MSB of gpio on mcp23017\n\r"); break; case 'R': printf("Asking NVIC to reset us\n\r"); USBD_Disconnect(); NVIC_SystemReset(); break; + case 'm': + mcp23017_test(MCP23017_ADDRESS); + break; + case 't': + mcp23017_toggle(MCP23017_ADDRESS); + break; default: printf("Unknown command '%c'\n\r", ch); break; @@ -50,7 +58,8 @@ usb_buf_init(); i2c_pin_init(); - mcp23017_init(MCP23017_ADDRESS); + if (!mcp23017_init(MCP23017_ADDRESS)) + printf("mcp23017 not found!\n\r"); /* Initialize checking for card insert/remove events */ //card_present_init(); #endif diff --git a/firmware/libboard/octsimtest/source/i2c.c b/firmware/libboard/octsimtest/source/i2c.c index a708704..2cd8423 100644 --- a/firmware/libboard/octsimtest/source/i2c.c +++ b/firmware/libboard/octsimtest/source/i2c.c @@ -96,7 +96,7 @@ i2c_started = true; } -static void i2c_stop_cond(void) +void i2c_stop_cond(void) { clear_sda(); set_scl(); diff --git a/firmware/libboard/octsimtest/source/mcp23017.c b/firmware/libboard/octsimtest/source/mcp23017.c index 63390b4..167bf34 100644 --- a/firmware/libboard/octsimtest/source/mcp23017.c +++ b/firmware/libboard/octsimtest/source/mcp23017.c @@ -94,13 +94,47 @@ int mcp23017_init(uint8_t slave) { - printf("mcp23017_init\n"); + printf("mcp23017_init\n\r"); // all gpio input if (mcp23017_write_byte(slave, MCP23017_IODIRA, 0xff)) return false; - if (mcp23017_write_byte(slave, MCP23017_IODIRB, 0xff)) + // msb of portb output, rest input + if (mcp23017_write_byte(slave, MCP23017_IODIRB, 0x7f)) return false; - printf("mcp23017 found\n"); + if (mcp23017_write_byte(slave, MCP23017_IOCONA, 0x20)) //disable SEQOP (autoinc addressing) + return false; + printf("mcp23017 found\n\r"); return true; } +int mcp23017_test(uint8_t slave) +{ + printf("mcp23017_test\n\r"); + printf("GPIOA 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_GPIOA)); + printf("GPIOB 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_GPIOB)); + printf("IODIRA 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IODIRA)); + printf("IODIRB 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IODIRB)); + printf("IOCONA 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IOCONA)); + printf("IOCONB 0x%x\n\r", mcp23017_read_byte(slave,MCP23017_IOCONB)); + + return 0; +} + +int mcp23017_toggle(uint8_t slave) +{ + // example writing MSB of gpio + static bool foo=false; + if (foo) + { + printf("+\n\r"); + mcp23017_write_byte(slave, MCP23017_OLATB, 0x80); + foo=false; + } + else + { + printf("-\n\r"); + mcp23017_write_byte(slave, MCP23017_OLATB, 0x00); + foo=true; + } + return 0; +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia2e5a1bf3f97272931014e54e587109297556c03 Gerrit-Change-Number: 15875 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri Oct 25 07:23:06 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 25 Oct 2019 07:23:06 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#548?= In-Reply-To: <1498935454.546.1571986410120.JavaMail.jenkins@jenkins.osmocom.org> References: <1498935454.546.1571986410120.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <909952222.547.1571988186928.JavaMail.jenkins@jenkins.osmocom.org> See Changes: [jsteiger] add/fix mcp23017 i2c gpio expander functions and tests ------------------------------------------ [...truncated 157.29 KB...] 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE Not sending mail to unregistered user jsteiger at sysmocom.de From gerrit-no-reply at lists.osmocom.org Fri Oct 25 07:23:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 07:23:07 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c File src/libmsc/ran_msg_iu.c: https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c at 402 PS1, Line 402: LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "DirectTransfer\n"); > When I wrote the RAN message de/encoding, I decided to put the string constants directly in the de/e [?] OT: wireshark has value_string_ext for that, which builds (AFAIR) hash tables or some other more efficient data structures at program statup time. Feel free to consider something like that for libosmocore. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 07:23:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Fri Oct 25 07:39:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 25 Oct 2019 07:39:46 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: Hello fixeria, daniel, laforge, Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15719 to look at the new patch set (#9). Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... gsm0508: add functions to calculate beginning of a block The calculation of the beginning of a block for TCH/F, TCH/H and FACCH can be challenging since those channels are affected by the diagonal interleaving of the TCH channels. However, GSM 05.02 Section 7 Table 1 of 5 specifies how the blocks are distributed over the TDMA frame interval. Lets add a mapping function that is based on that table Related: OS#3803 Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm0502/gsm0502_test.c A tests/gsm0502/gsm0502_test.ok M tests/testsuite.at 7 files changed, 611 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/15719/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Oct 25 09:26:36 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 25 Oct 2019 09:26:36 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Oct 2019 09:26: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 Fri Oct 25 11:37:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 11:37:08 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str_is_nonzero() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15835 ) Change subject: add osmo_sockaddr_str_is_nonzero() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 Gerrit-Change-Number: 15835 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 11:37: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 Oct 25 11:43:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 11:43:47 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15677/2/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/c/libosmocore/+/15677/2/src/fsm.c at 198 PS2, Line 198: void osmo_fsm_set_dealloc_ctx(void *ctx) > The choice to allow is whether to use osmo_select_main_ctx() or osmo_select_main() and/or a manual c [?] I neither see the point in delaying free() of instances which have no problem in being freed instantly. I'm not against merging all this work, but my feeling is you try to kill several flies with nuclear weapons with all this work. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 11:43:47 +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 Fri Oct 25 11:48:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 11:48:26 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15833/1/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/c/libosmocore/+/15833/1/src/fsm.c at 221 PS1, Line 221: void osmo_fsm_set_term_stops_actions(bool term_stops_actions) > Why would you want to dispatch events or allow state changes on FSM instances after osmo_fsm_inst_te [?] Ok I see your point here. Then I guess at some point in the future we should deprecate this API and set the new behavior as default. I'm simply trying to avoid having tons of APIs on each main.c. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 11:48:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Fri Oct 25 11:53:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 11:53:35 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c File src/libmsc/ran_msg_iu.c: https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c at 402 PS1, Line 402: LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "DirectTransfer\n"); > OT: wireshark has value_string_ext for that, which builds (AFAIR) hash tables or some other more eff [?] Can we then at least use Can we then use strings from value_string directly so we don't duplicate string names? like: "%s\n", ran_msg_type_names[RAN_MSG_CIPHER_MODE_COMMAND] instead of "SecurityModeCommand\n" -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 11:53:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels 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 Oct 25 13:08:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 13:08:23 +0000 Subject: Change in osmo-bts[master]: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15876 ) Change subject: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() ...................................................................... cosmetic: bts-trx: document variable and fix typo in ms_power_diff() Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 --- M src/osmo-bts-trx/loops.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/15876/1 diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c index 3fa2b3b..2dc6640 100644 --- a/src/osmo-bts-trx/loops.c +++ b/src/osmo-bts-trx/loops.c @@ -45,9 +45,9 @@ struct gsm_bts_trx *trx = lchan->ts->trx; enum gsm_band band = trx->bts->band; uint16_t arfcn = trx->arfcn; - int8_t new_power; + int8_t new_power; /* TS 05.05 power level */ - /* compute new target MS output power level based on current value subtracted by 'diff/2' */ + /* compute new target MS output power level based on current value substracted by 'diff/2' */ new_power = lchan->ms_power_ctrl.current - (diff >> 1); if (diff == 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 Gerrit-Change-Number: 15876 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 Oct 25 14:45:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 14:45:18 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15877 ) Change subject: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions ...................................................................... bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions Fixes TTCN3 BTS_Tests.TC_rsl_ms_pwr_dyn_max Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 --- M src/osmo-bts-trx/loops.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/15877/1 diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c index 2dc6640..6edf643 100644 --- a/src/osmo-bts-trx/loops.c +++ b/src/osmo-bts-trx/loops.c @@ -53,6 +53,10 @@ if (diff == 0) return; + /* Don't ask for smaller ms power level than the one requested by BSC CHAN ACT */ + if (new_power < lchan->ms_power) + new_power = lchan->ms_power; + /* ms transmit power level cannot become negative */ if (new_power < 0) new_power = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 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 Oct 25 14:46:33 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Oct 2019 14:46:33 +0000 Subject: Change in osmo-bts[master]: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15876 ) Change subject: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 Gerrit-Change-Number: 15876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 25 Oct 2019 14:46: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 Oct 25 14:47:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 25 Oct 2019 14:47:54 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15877 ) Change subject: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 25 Oct 2019 14:47: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 Oct 25 14:56:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 14:56:21 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions 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-bts/+/15877 to look at the new patch set (#2). Change subject: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions ...................................................................... bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions Fixes TTCN3 BTS_Tests.TC_rsl_ms_pwr_dyn_max Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 --- M src/osmo-bts-trx/loops.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/15877/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 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 Fri Oct 25 15:25:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 15:25:52 +0000 Subject: Change in osmo-bts[master]: loops.h: Fix missing include for struct l1sched_trx References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15878 ) Change subject: loops.h: Fix missing include for struct l1sched_trx ...................................................................... loops.h: Fix missing include for struct l1sched_trx Change-Id: I67b63367e46bd43807f61e8f7e63924b8c2427e4 --- M src/osmo-bts-trx/loops.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/78/15878/1 diff --git a/src/osmo-bts-trx/loops.h b/src/osmo-bts-trx/loops.h index 50a658d..0db01d7 100644 --- a/src/osmo-bts-trx/loops.h +++ b/src/osmo-bts-trx/loops.h @@ -1,6 +1,8 @@ #ifndef _TRX_LOOPS_H #define _TRX_LOOPS_H +#include + /* * calibration of loops */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I67b63367e46bd43807f61e8f7e63924b8c2427e4 Gerrit-Change-Number: 15878 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 Oct 25 15:49:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 15:49:18 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15877 ) Change subject: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions ...................................................................... Patch Set 2: I have the feeling a similar fix is going to be required too in lchan_ms_pwr_ctrl(). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 15: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 Fri Oct 25 15:54:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 25 Oct 2019 15:54:14 +0000 Subject: Change in osmo-bts[master]: cosmetic: l1sap.c: Fix typo References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15879 ) Change subject: cosmetic: l1sap.c: Fix typo ...................................................................... cosmetic: l1sap.c: Fix typo Change-Id: I9fee7be915546cfd11810c74d511beb8ec10d044 --- M src/common/l1sap.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/15879/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index c68dc79..7bf0b09 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1254,7 +1254,7 @@ } /* Some brilliant engineer decided that the ordering of * fields on the Um interface is different from the - * order of fields in RLS. See TS 04.04 (Chapter 7.2) + * order of fields in RSL. See TS 04.04 (Chapter 7.2) * vs. TS 08.58 (Chapter 9.3.10). */ lchan->meas.l1_info[0] = data[0] << 3; lchan->meas.l1_info[0] |= ((data[0] >> 5) & 1) << 2; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9fee7be915546cfd11810c74d511beb8ec10d044 Gerrit-Change-Number: 15879 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 Oct 25 17:34:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 17:34:12 +0000 Subject: Change in osmo-bts[master]: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15876 ) Change subject: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15876/1/src/osmo-bts-trx/loops.c File src/osmo-bts-trx/loops.c: https://gerrit.osmocom.org/c/osmo-bts/+/15876/1/src/osmo-bts-trx/loops.c at 50 PS1, Line 50: ubst actually, subtracted was correct spelling! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 Gerrit-Change-Number: 15876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Oct 2019 17:34: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 Fri Oct 25 17:35:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 17:35:21 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15877 ) Change subject: bts-trx: loops.c: Follow BSC CHAN ACT ms power level restrictions ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15877/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/15877/2//COMMIT_MSG at 7 PS2, Line 7: BSC CHAN ACT ms power level restrictions s/BSC/RSL/. And what is a 'power level restriction? It may make sense to refer to the specific section of TS 48.058 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 25 Oct 2019 17:35: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 Fri Oct 25 17:35:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 25 Oct 2019 17:35:32 +0000 Subject: Change in osmo-bts[master]: loops.h: Fix missing include for struct l1sched_trx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15878 ) Change subject: loops.h: Fix missing include for struct l1sched_trx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I67b63367e46bd43807f61e8f7e63924b8c2427e4 Gerrit-Change-Number: 15878 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 25 Oct 2019 17:35:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Sat Oct 26 06:53:31 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 26 Oct 2019 06:53:31 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#549?= In-Reply-To: <909952222.547.1571988186928.JavaMail.jenkins@jenkins.osmocom.org> References: <909952222.547.1571988186928.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <593248550.584.1572072811474.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.28 KB...] 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE Not sending mail to unregistered user jsteiger at sysmocom.de From admin at opensuse.org Sat Oct 26 14:38:51 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 26 Oct 2019 14:38:51 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5db45a81d6f75_2c652ae589ffe5f83337e2@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: [ 254s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_load_8' [ 254s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_store_8' [ 254s] collect2: error: ld returned 1 exit status [ 254s] make[3]: *** [src/CMakeFiles/boardEmulator.dir/build.make:89: src/boardEmulator] Error 1 [ 254s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 254s] 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 [ 266s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 266s] [ 43%] Built target oglGraph [ 266s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 266s] make[1]: *** [Makefile:133: all] Error 2 [ 266s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 266s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j4 returned exit code 2 [ 266s] make: *** [debian/rules:28: binary] Error 2 [ 266s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 266s] [ 266s] armbuild21 failed "build limesuite_19.04.0-1.dsc" at Sat Oct 26 14:38:42 UTC 2019. [ 266s] [ 266s] ### VM INTERACTION START ### [ 269s] [ 241.773010] sysrq: SysRq : Power Off [ 269s] [ 241.802304] reboot: Power down [ 269s] ### VM INTERACTION END ### [ 269s] [ 269s] armbuild21 failed "build limesuite_19.04.0-1.dsc" at Sat Oct 26 14:38:46 UTC 2019. [ 269s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Oct 26 17:18:51 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 26 Oct 2019 17:18:51 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5db480044b7fc_2c652ae589ffe5f83683a4@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: [ 355s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_load_8' [ 355s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_store_8' [ 355s] collect2: error: ld returned 1 exit status [ 355s] make[3]: *** [src/CMakeFiles/boardEmulator.dir/build.make:89: src/boardEmulator] Error 1 [ 355s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 355s] make[2]: *** [CMakeFiles/Makefile2:216: src/CMakeFiles/boardEmulator.dir/all] Error 2 [ 369s] [ 43%] Linking CXX static library liboglGraph.a [ 369s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src/oglGraph && /usr/bin/cmake -P CMakeFiles/oglGraph.dir/cmake_clean_target.cmake [ 369s] 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 [ 369s] /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 [ 369s] /usr/bin/ranlib liboglGraph.a [ 370s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 370s] [ 43%] Built target oglGraph [ 370s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 370s] make[1]: *** [Makefile:133: all] Error 2 [ 370s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 370s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j4 returned exit code 2 [ 370s] make: *** [debian/rules:28: binary] Error 2 [ 370s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 370s] [ 370s] armbuild21 failed "build limesuite_19.04.0-1.dsc" at Sat Oct 26 17:18:44 UTC 2019. [ 370s] [ 370s] ### VM INTERACTION START ### [ 373s] [ 347.861532] sysrq: SysRq : Power Off [ 373s] [ 347.907705] reboot: Power down [ 373s] ### VM INTERACTION END ### [ 373s] [ 373s] armbuild21 failed "build limesuite_19.04.0-1.dsc" at Sat Oct 26 17:18:47 UTC 2019. [ 373s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From jenkins at lists.osmocom.org Sun Oct 27 06:53:24 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 27 Oct 2019 06:53:24 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#550?= In-Reply-To: <593248550.584.1572072811474.JavaMail.jenkins@jenkins.osmocom.org> References: <593248550.584.1572072811474.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <2145112109.617.1572159204149.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.28 KB...] 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE Not sending mail to unregistered user jsteiger at sysmocom.de From jenkins at lists.osmocom.org Sun Oct 27 23:59:49 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 27 Oct 2019 23:59:49 +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_#1810?= Message-ID: <542727613.628.1572220789310.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 12.45 KB...] 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.48-80c8a > .version-t && mv .version-t .version make install-recursive make[1]: Entering directory '/build/deps/libosmocore' Making install in include make[2]: Entering directory '/build/deps/libosmocore/include' 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 '/build/deps/libosmocore/include' GEN osmocom/core/bit16gen.h GEN osmocom/core/crc16gen.h GEN osmocom/core/crc64gen.h GEN osmocom/core/bit64gen.h GEN osmocom/core/bit32gen.h GEN osmocom/core/bit16gen.h GEN osmocom/core/crc32gen.h GEN osmocom/core/crc8gen.h GEN osmocom/core/bit64gen.h GEN osmocom/core/crc64gen.h GEN osmocom/core/crc32gen.h GEN osmocom/core/crc8gen.h GEN osmocom/core/crc16gen.h GEN osmocom/core/bit32gen.h make[4]: Entering directory '/build/deps/libosmocore/include' make[4]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/build/deps/install/stow/libosmocore/include' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/core' /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 '/build/deps/install/stow/libosmocore/include/osmocom/core' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/gsm' /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 '/build/deps/install/stow/libosmocore/include/osmocom/gsm' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/coding' /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 '/build/deps/install/stow/libosmocore/include/osmocom/coding' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/core' /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 '/build/deps/install/stow/libosmocore/include/osmocom/core' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/vty' /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 '/build/deps/install/stow/libosmocore/include/osmocom/vty' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/gsm/protocol' /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 '/build/deps/install/stow/libosmocore/include/osmocom/gsm/protocol' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/sim' /usr/bin/install -c -m 644 osmocom/sim/class_tables.h osmocom/sim/sim.h '/build/deps/install/stow/libosmocore/include/osmocom/sim' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/gprs' /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 '/build/deps/install/stow/libosmocore/include/osmocom/gprs' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/crypt' /usr/bin/install -c -m 644 osmocom/crypt/auth.h osmocom/crypt/gprs_cipher.h '/build/deps/install/stow/libosmocore/include/osmocom/crypt' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/gsm' /usr/bin/install -c -m 644 osmocom/gsm/tlv.h '/build/deps/install/stow/libosmocore/include/osmocom/gsm' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/ctrl' /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 '/build/deps/install/stow/libosmocore/include/osmocom/ctrl' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/gprs/protocol' /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 '/build/deps/install/stow/libosmocore/include/osmocom/gprs/protocol' /bin/mkdir -p '/build/deps/install/stow/libosmocore/include/osmocom/codec' /usr/bin/install -c -m 644 osmocom/codec/ecu.h osmocom/codec/codec.h osmocom/codec/gsm610_bits.h '/build/deps/install/stow/libosmocore/include/osmocom/codec' make[4]: Leaving directory '/build/deps/libosmocore/include' make[3]: Leaving directory '/build/deps/libosmocore/include' make[2]: Leaving directory '/build/deps/libosmocore/include' Making install in src make[2]: Entering directory '/build/deps/libosmocore/src' GEN crc8gen.c GEN crc32gen.c GEN crc64gen.c GEN crc16gen.c make install-am make[3]: Entering directory '/build/deps/libosmocore/src' CC context.lo CC timer.lo CC timer_gettimeofday.lo CC bits.lo CC timer_clockgettime.lo CC select.lo CC signal.lo CC msgb.lo CC bitvec.lo CC bitcomp.lo CC counter.lo CC fsm.lo CC write_queue.lo CC socket.lo CC utils.lo CC logging.lo CC logging_syslog.lo CC logging_gsmtap.lo CC rate_ctr.lo CC gsmtap_util.lo CC crc16.lo CC panic.lo 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 stat_item.lo CC macaddr.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 '/build/deps/libosmocore/src' make[4]: Nothing to be done for 'install-data-am'. /bin/mkdir -p '/build/deps/install/stow/libosmocore/lib' /bin/bash ../libtool --mode=install /usr/bin/install -c libosmocore.la '/build/deps/install/stow/libosmocore/lib' libtool: install: /usr/bin/install -c .libs/libosmocore.so.12.2.0 /build/deps/install/stow/libosmocore/lib/libosmocore.so.12.2.0 libtool: install: (cd /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib && { 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 /build/deps/install/stow/libosmocore/lib/libosmocore.la libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/build_bin:/sbin" ldconfig -n /build/deps/install/stow/libosmocore/lib ---------------------------------------------------------------------- Libraries have been installed in: /build/deps/install/stow/libosmocore/lib 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 '/build/deps/libosmocore/src' make[3]: Leaving directory '/build/deps/libosmocore/src' make[2]: Leaving directory '/build/deps/libosmocore/src' Making install in src/vty make[2]: Entering directory '/build/deps/libosmocore/src/vty' CC command.lo CC vector.lo CC buffer.lo CC vty.lo CC utils.lo CC logging_vty.lo CC telnet_interface.lo CC stats_vty.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 talloc_ctx_vty.lo CC fsm_vty.lo CC tdef_vty.lo CCLD libosmovty.la make[3]: Entering directory '/build/deps/libosmocore/src/vty' make[3]: Nothing to be done for 'install-data-am'. /bin/mkdir -p '/build/deps/install/stow/libosmocore/lib' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmovty.la '/build/deps/install/stow/libosmocore/lib' libtool: warning: relinking 'libosmovty.la' libtool: install: (cd /build/deps/libosmocore/src/vty; /bin/bash "/build/deps/libosmocore/libtool" --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -version-info 8:0:4 -no-undefined -o libosmovty.la -rpath /build/deps/install/stow/libosmocore/lib 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: line 1719: 6114 Segmentation fault (core dumped) /bin/bash "/build/deps/libosmocore/libtool" --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -version-info 8:0:4 -no-undefined -o libosmovty.la -rpath /build/deps/install/stow/libosmocore/lib 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: error: error: relink 'libosmovty.la' with the above command before installing it Makefile:426: recipe for target 'install-libLTLIBRARIES' failed make[3]: Leaving directory '/build/deps/libosmocore/src/vty' make[3]: *** [install-libLTLIBRARIES] Error 1 Makefile:606: recipe for target 'install-am' failed make[2]: Leaving directory '/build/deps/libosmocore/src/vty' make[2]: *** [install-am] Error 2 Makefile:634: recipe for target 'install-recursive' failed make[1]: Leaving directory '/build/deps/libosmocore' make[1]: *** [install-recursive] Error 1 Makefile:933: 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 Oct 28 04:50:32 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 28 Oct 2019 04:50:32 +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_#1811?= In-Reply-To: <542727613.628.1572220789310.JavaMail.jenkins@jenkins.osmocom.org> References: <542727613.628.1572220789310.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1958402065.650.1572238232455.JavaMail.jenkins@jenkins.osmocom.org> See From jenkins at lists.osmocom.org Mon Oct 28 06:53:27 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 28 Oct 2019 06:53:27 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#551?= In-Reply-To: <2145112109.617.1572159204149.JavaMail.jenkins@jenkins.osmocom.org> References: <2145112109.617.1572159204149.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <941593303.660.1572245607233.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.39 KB...] 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE Not sending mail to unregistered user jsteiger at sysmocom.de From gerrit-no-reply at lists.osmocom.org Mon Oct 28 09:44:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 09:44:56 +0000 Subject: Change in osmo-bts[master]: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15876 ) Change subject: cosmetic: bts-trx: document variable and fix typo in ms_power_diff() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15876/1/src/osmo-bts-trx/loops.c File src/osmo-bts-trx/loops.c: https://gerrit.osmocom.org/c/osmo-bts/+/15876/1/src/osmo-bts-trx/loops.c at 50 PS1, Line 50: ubst > actually, subtracted was correct spelling! lol indeed, I had to look it up. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 Gerrit-Change-Number: 15876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 09:44:56 +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 Mon Oct 28 10:06:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 10:06:05 +0000 Subject: Change in osmo-bts[master]: cosmetic: bts-trx: document variable power level 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-bts/+/15876 to look at the new patch set (#2). Change subject: cosmetic: bts-trx: document variable power level ...................................................................... cosmetic: bts-trx: document variable power level Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 --- M src/osmo-bts-trx/loops.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/15876/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 Gerrit-Change-Number: 15876 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 Oct 28 10:06:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 10:06:05 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits 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-bts/+/15877 to look at the new patch set (#3). Change subject: bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits ...................................................................... bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits TS 48.058 sec 4.8 MS power control: """ TRX then attempts to keep the power control parameters within the limits set by the MS POWER CONTROL message (or by the CHANNEL ACTIVATION message) by changing the MS Power Level field of the L1 header sent to MS in each SACCH block. """ Fixes TTCN3 BTS_Tests.TC_rsl_ms_pwr_dyn_max Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 --- M src/osmo-bts-trx/loops.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/15877/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 Gerrit-PatchSet: 3 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 Oct 28 11:56:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 11:56:51 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: Fix typo in 'no depends-on-bts' cmd References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15880 ) Change subject: bsc_vty: Fix typo in 'no depends-on-bts' cmd ...................................................................... bsc_vty: Fix typo in 'no depends-on-bts' cmd Change-Id: I32e0d3dc8672206f346d25b45e06e9e3fe0b64e7 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/15880/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 06c06de..a388c9a 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3700,7 +3700,7 @@ } DEFUN(cfg_bts_no_depends_on, cfg_bts_no_depends_on_cmd, - "depeneds-on-bts <0-255>", + "no depends-on-bts <0-255>", NO_STR "This BTS can only be started if another one is up\n" BTS_NR_STR) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I32e0d3dc8672206f346d25b45e06e9e3fe0b64e7 Gerrit-Change-Number: 15880 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 Oct 28 12:48:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 12:48:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881 ) Change subject: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT ...................................................................... bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT Depends: osmo-bsc.git Icaaa61b363b093f00b6653c3df64d3e66583b9f8 Related: OS#1622 Change-Id: I2ecf03bbab169f9fda4e4a61d233d6a30b2a91b9 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/15881/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 57706c9..6778af1 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -738,6 +738,8 @@ /* ensure the RSL CHAN ACT (during assignment) contains values we expect depending on test case */ private function f_check_chan_act(AssignmentState st, RSL_Message chan_act) runs on MSC_ConnHdlr { var RSL_IE_Body encr_info; + var RSL_IE_Body ms_power_param; + if (ispresent(g_pars.encr) and g_pars.encr.enc_alg != '01'O) { if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in CHAN ACT"); @@ -756,6 +758,11 @@ } /* FIXME: validate RSL_IE_ACT_TYPE, RSL_IE_CHAN_MODE, RSL_IE_CHAN_IDENT, RSL_IE_BS_POWER, * RSL_IE_MS_POWER, RSL_IE_TIMING_ADVANCE */ + + if (not f_rsl_find_ie(chan_act, RSL_IE_MS_POWER_PARAM, ms_power_param)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "IE MS Power Parameters not found in CHAN ACT"); + } + } altstep as_assignment(inout AssignmentState st) runs on MSC_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ecf03bbab169f9fda4e4a61d233d6a30b2a91b9 Gerrit-Change-Number: 15881 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 Oct 28 12:52:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 12:52:21 +0000 Subject: Change in osmo-bsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15882 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages TS 48.058 sec 8.4.1 CHANNEL ACTIVATION and state: """ The BS and MS Power Parameters elements are included to indicate that BS and/or MS power control is to be performed by BTS. The maximum power to be used is indicated in the BS and MS Power elements respectively. """ Since we always want the BTS to do autonomous MS power control, let's add it. Related: OS#1622 Change-Id: Icaaa61b363b093f00b6653c3df64d3e66583b9f8 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/15882/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 4a7d104..575f91d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -316,6 +316,8 @@ dh->chan_nr = chan_nr; msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); + /* indicate MS power control to be performed by BTS: */ + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); msg->dst = lchan->ts->trx->rsl_link; @@ -541,6 +543,9 @@ msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power); msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta); + /* indicate MS power control to be performed by BTS: */ + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + mr_config_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaaa61b363b093f00b6653c3df64d3e66583b9f8 Gerrit-Change-Number: 15882 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 Oct 28 13:50:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 13:50:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT 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/+/15881 to look at the new patch set (#2). Change subject: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT ...................................................................... bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT Depends: osmo-bsc.git Icaaa61b363b093f00b6653c3df64d3e66583b9f8 Related: OS#1622 Change-Id: I2ecf03bbab169f9fda4e4a61d233d6a30b2a91b9 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/15881/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ecf03bbab169f9fda4e4a61d233d6a30b2a91b9 Gerrit-Change-Number: 15881 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 Oct 28 14:14:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 14:14:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15883 ) Change subject: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT ...................................................................... bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e --- M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Types.ttcn 2 files changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/15883/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 40701d6..461d61c 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -526,6 +526,7 @@ TestHdlrEncrParams encr optional, TestHdlrParamsLcls lcls, TestHdlrParamsHandover handover optional, + uint5_t exp_ms_power_level, boolean aoip, boolean use_osmux }; @@ -551,6 +552,7 @@ adjust_cx_exp := true }, handover := omit, + exp_ms_power_level := 7, /* calculated from osmo-bsc.cfg "ms max power" */ aoip := true, use_osmux := false } @@ -739,6 +741,7 @@ private function f_check_chan_act(AssignmentState st, RSL_Message chan_act) runs on MSC_ConnHdlr { var RSL_IE_Body encr_info; var RSL_IE_Body ms_power_param; + var RSL_IE_Body ms_power; if (ispresent(g_pars.encr) and g_pars.encr.enc_alg != '01'O) { if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { @@ -763,6 +766,14 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "IE MS Power Parameters not found in CHAN ACT"); } + if (not f_rsl_find_ie(chan_act, RSL_IE_MS_POWER, ms_power)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "IE MS Powernot found in CHAN ACT"); + } else { + if (not match(ms_power.ms_power, tr_RSL_IE_MS_Power(g_pars.exp_ms_power_level, false))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Wrong Encryption IE in CHAN ACT"); + } + } + } altstep as_assignment(inout AssignmentState st) runs on MSC_ConnHdlr { diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index db0e231..d982e02 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -454,6 +454,12 @@ boolean fpc_epc, uint5_t power_level } + template RSL_IE_MS_Power tr_RSL_IE_MS_Power(template uint5_t power_level := ?, + template boolean fpc_epc := false) := { + reserved := 0, + fpc_epc := fpc_epc, + power_level := power_level + } template (value) RSL_IE_MS_Power ts_RSL_IE_MS_Power(uint5_t power_level, boolean fpc_epc := false) := { reserved := 0, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e Gerrit-Change-Number: 15883 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 Oct 28 14:15:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 14:15:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT 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/+/15883 to look at the new patch set (#2). Change subject: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT ...................................................................... bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e --- M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Types.ttcn 2 files changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/15883/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e Gerrit-Change-Number: 15883 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 Oct 28 16:01:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 16:01:31 +0000 Subject: Change in osmo-bts[master]: power_control.c: Take into account RSL CHAN ACT ms power level limits References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15884 ) Change subject: power_control.c: Take into account RSL CHAN ACT ms power level limits ...................................................................... power_control.c: Take into account RSL CHAN ACT ms power level limits This is similar commit to Ifda92155bd9c277ac150a327a7ab63c854087788, which previously fixed same issue for osmo-bts-trx specific power control loop code. TS 48.058 sec 4.8 MS power control: """ TRX then attempts to keep the power control parameters within the limits set by the MS POWER CONTROL message (or by the CHANNEL ACTIVATION message) by changing the MS Power Level field of the L1 header sent to MS in each SACCH block. """ Should fix TTCN3 BTS_Tests.TC_rsl_ms_pwr_dyn_max for non-bts-trx BTS models. Related: OS#1622 Change-Id: I376b52d7bee44132993a69cf532bd418171d0ca2 --- M src/common/power_control.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/84/15884/1 diff --git a/src/common/power_control.c b/src/common/power_control.c index b172870..f467cd5 100644 --- a/src/common/power_control.c +++ b/src/common/power_control.c @@ -79,6 +79,13 @@ } new_pwr = ms_pwr_ctl_lvl(band, new_dBm); + + /* Don't ask for smaller ms power level than the one set + * by BSC upon RSL CHAN ACT + */ + if (new_pwr < lchan->ms_power) + new_pwr = lchan->ms_power; + if (lchan->ms_power_ctrl.current != new_pwr) { lchan->ms_power_ctrl.current = new_pwr; bts_model_adjst_ms_pwr(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I376b52d7bee44132993a69cf532bd418171d0ca2 Gerrit-Change-Number: 15884 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 Oct 28 18:22:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:22:53 +0000 Subject: Change in osmo-bts[master]: cosmetic: bts-trx: document variable power level In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15876 ) Change subject: cosmetic: bts-trx: document variable power level ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 Gerrit-Change-Number: 15876 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 18: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 Oct 28 18:24:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:24:11 +0000 Subject: Change in osmo-bts[master]: cosmetic: bts-trx: document variable power level In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15876 ) Change subject: cosmetic: bts-trx: document variable power level ...................................................................... cosmetic: bts-trx: document variable power level Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 --- M src/osmo-bts-trx/loops.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c index 3fa2b3b..8a5dd2e 100644 --- a/src/osmo-bts-trx/loops.c +++ b/src/osmo-bts-trx/loops.c @@ -45,7 +45,7 @@ struct gsm_bts_trx *trx = lchan->ts->trx; enum gsm_band band = trx->bts->band; uint16_t arfcn = trx->arfcn; - int8_t new_power; + int8_t new_power; /* TS 05.05 power level */ /* compute new target MS output power level based on current value subtracted by 'diff/2' */ new_power = lchan->ms_power_ctrl.current - (diff >> 1); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia4bc291c8213dd6cfe3b13a99b3108532b6907b1 Gerrit-Change-Number: 15876 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 Mon Oct 28 18:25:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:25:20 +0000 Subject: Change in osmo-bts[master]: power_control.c: Take into account RSL CHAN ACT ms power level limits In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15884 ) Change subject: power_control.c: Take into account RSL CHAN ACT ms power level limits ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I376b52d7bee44132993a69cf532bd418171d0ca2 Gerrit-Change-Number: 15884 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 18:25: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 Oct 28 18:25:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:25:29 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15877 ) Change subject: bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 18:25: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 Oct 28 18:25:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:25:39 +0000 Subject: Change in osmo-bts[master]: bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15877 ) Change subject: bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits ...................................................................... bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits TS 48.058 sec 4.8 MS power control: """ TRX then attempts to keep the power control parameters within the limits set by the MS POWER CONTROL message (or by the CHANNEL ACTIVATION message) by changing the MS Power Level field of the L1 header sent to MS in each SACCH block. """ Fixes TTCN3 BTS_Tests.TC_rsl_ms_pwr_dyn_max Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 --- M src/osmo-bts-trx/loops.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c index 8a5dd2e..4e77bca 100644 --- a/src/osmo-bts-trx/loops.c +++ b/src/osmo-bts-trx/loops.c @@ -57,6 +57,10 @@ if (new_power < 0) new_power = 0; + /* Don't ask for smaller ms power level than the one set by BSC upon RSL CHAN ACT */ + if (new_power < lchan->ms_power) + new_power = lchan->ms_power; + /* saturate at the maximum possible power level for the given band */ // FIXME: to go above 1W, we need to know classmark of MS if (arfcn >= 512 && arfcn <= 885) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788 Gerrit-Change-Number: 15877 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 Oct 28 18:25:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:25:39 +0000 Subject: Change in osmo-bts[master]: loops.h: Fix missing include for struct l1sched_trx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15878 ) Change subject: loops.h: Fix missing include for struct l1sched_trx ...................................................................... loops.h: Fix missing include for struct l1sched_trx Change-Id: I67b63367e46bd43807f61e8f7e63924b8c2427e4 --- M src/osmo-bts-trx/loops.h 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-trx/loops.h b/src/osmo-bts-trx/loops.h index 50a658d..0db01d7 100644 --- a/src/osmo-bts-trx/loops.h +++ b/src/osmo-bts-trx/loops.h @@ -1,6 +1,8 @@ #ifndef _TRX_LOOPS_H #define _TRX_LOOPS_H +#include + /* * calibration of loops */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I67b63367e46bd43807f61e8f7e63924b8c2427e4 Gerrit-Change-Number: 15878 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 Mon Oct 28 18:25:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:25:39 +0000 Subject: Change in osmo-bts[master]: power_control.c: Take into account RSL CHAN ACT ms power level limits In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15884 ) Change subject: power_control.c: Take into account RSL CHAN ACT ms power level limits ...................................................................... power_control.c: Take into account RSL CHAN ACT ms power level limits This is similar commit to Ifda92155bd9c277ac150a327a7ab63c854087788, which previously fixed same issue for osmo-bts-trx specific power control loop code. TS 48.058 sec 4.8 MS power control: """ TRX then attempts to keep the power control parameters within the limits set by the MS POWER CONTROL message (or by the CHANNEL ACTIVATION message) by changing the MS Power Level field of the L1 header sent to MS in each SACCH block. """ Should fix TTCN3 BTS_Tests.TC_rsl_ms_pwr_dyn_max for non-bts-trx BTS models. Related: OS#1622 Change-Id: I376b52d7bee44132993a69cf532bd418171d0ca2 --- M src/common/power_control.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/power_control.c b/src/common/power_control.c index b172870..f467cd5 100644 --- a/src/common/power_control.c +++ b/src/common/power_control.c @@ -79,6 +79,13 @@ } new_pwr = ms_pwr_ctl_lvl(band, new_dBm); + + /* Don't ask for smaller ms power level than the one set + * by BSC upon RSL CHAN ACT + */ + if (new_pwr < lchan->ms_power) + new_pwr = lchan->ms_power; + if (lchan->ms_power_ctrl.current != new_pwr) { lchan->ms_power_ctrl.current = new_pwr; bts_model_adjst_ms_pwr(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I376b52d7bee44132993a69cf532bd418171d0ca2 Gerrit-Change-Number: 15884 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 Mon Oct 28 18:27:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:27:12 +0000 Subject: Change in libosmocore[master]: socket.c: build multiaddr socket API helpers only if used by public APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15870 ) Change subject: socket.c: build multiaddr socket API helpers only if used by public APIs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I52769d6b8f70af1a8bda23d60b3230a932e71fab Gerrit-Change-Number: 15870 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roox Gerrit-Comment-Date: Mon, 28 Oct 2019 18: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 Mon Oct 28 18:27:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:27:48 +0000 Subject: Change in libosmocore[master]: configure: Introduce --disable-libsctp and error by default if libsct... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15871 ) Change subject: configure: Introduce --disable-libsctp and error by default if libsctp not found ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f Gerrit-Change-Number: 15871 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roox Gerrit-Comment-Date: Mon, 28 Oct 2019 18:27: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 Oct 28 18:27:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:27:52 +0000 Subject: Change in libosmocore[master]: socket.c: build multiaddr socket API helpers only if used by public APIs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15870 ) Change subject: socket.c: build multiaddr socket API helpers only if used by public APIs ...................................................................... socket.c: build multiaddr socket API helpers only if used by public APIs Those two functions are only used by osmo_sock_init2_multiaddr(), which is only built if HAVE_LIBSCTP is defined. Avoid compiler warning about unusued function helpers if osmo_sock_init2_multiaddr() is not being built. Change-Id: I52769d6b8f70af1a8bda23d60b3230a932e71fab --- M src/socket.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/socket.c b/src/socket.c index 4752881..9b1d30e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -100,6 +100,7 @@ return result; } +#ifdef HAVE_LIBSCTP /*! Retrieve an array of addrinfo with specified hints, one for each host in the hosts array. * \param[out] addrinfo array of addrinfo pointers, will be filled by the function on success. * Its size must be at least the one of hosts. @@ -127,6 +128,7 @@ } return 0; } +#endif /* HAVE_LIBSCTP*/ static int socket_helper(const struct addrinfo *rp, unsigned int flags) { @@ -150,6 +152,7 @@ return sfd; } +#ifdef HAVE_LIBSCTP /* Fill buf with a string representation of the address set, in the form: * buf_len == 0: "()" * buf_len == 1: "hostA" @@ -181,6 +184,7 @@ return len; } +#endif /* HAVE_LIBSCTP */ static int osmo_sock_init_tail(int fd, uint16_t type, unsigned int flags) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I52769d6b8f70af1a8bda23d60b3230a932e71fab Gerrit-Change-Number: 15870 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roox Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 28 18:27:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:27:53 +0000 Subject: Change in libosmocore[master]: configure: Introduce --disable-libsctp and error by default if libsct... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15871 ) Change subject: configure: Introduce --disable-libsctp and error by default if libsctp not found ...................................................................... configure: Introduce --disable-libsctp and error by default if libsctp not found This way libosmocore build fails during configuring phase if expected default behavior (building with libsctp support enabled and providing osmo_sock_init2_multiaddr() API) fails. User is still provided with --disable-libsctp option in case he doesn't need those features or his environment doesn't provide required libsctp APIs. Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f --- M configure.ac M contrib/jenkins_arm.sh 2 files changed, 18 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified roox: Looks good to me, approved laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 2f12d86..6c54e66 100644 --- a/configure.ac +++ b/configure.ac @@ -100,17 +100,6 @@ AC_CHECK_FUNCS(clock_gettime localtime_r) -old_LIBS=$LIBS -AC_SEARCH_LIBS([sctp_bindx], [sctp], [ - AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) - AC_SUBST(HAVE_LIBSCTP, [1]) - if test -n "$ac_lib"; then - AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) - fi - ], [ - AC_MSG_WARN([sctp_bindx not found in searched libs])]) -LIBS=$old_LIBS - AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ AC_CACHE_CHECK( [whether struct tm has tm_gmtoff member], @@ -171,6 +160,22 @@ AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS as a fallback for missing getrandom()]) fi +AC_ARG_ENABLE([libsctp], [AS_HELP_STRING([--disable-libsctp], [Do not enable socket multiaddr APIs requiring libsctp])], + [ENABLE_LIBSCTP=$enableval], [ENABLE_LIBSCTP="yes"]) +AM_CONDITIONAL(ENABLE_LIBSCTP, test x"$ENABLE_LIBSCTP" = x"yes") +AS_IF([test "x$ENABLE_LIBSCTP" = "xyes"], [ + old_LIBS=$LIBS + AC_SEARCH_LIBS([sctp_bindx], [sctp], [ + AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) + AC_SUBST(HAVE_LIBSCTP, [1]) + if test -n "$ac_lib"; then + AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) + fi + ], [ + AC_MSG_ERROR([sctp_bindx not found in searched libs])]) + LIBS=$old_LIBS +]) + AC_ARG_ENABLE(plugin, [AS_HELP_STRING( [--disable-plugin], @@ -279,6 +284,7 @@ AM_CONDITIONAL(ENABLE_UTILITIES, false) AM_CONDITIONAL(ENABLE_GB, false) AM_CONDITIONAL(ENABLE_GNUTLS, false) + AM_CONDITIONAL(ENABLE_LIBSCTP, false) AM_CONDITIONAL(ENABLE_PCSC, false) AM_CONDITIONAL(ENABLE_PSEUDOTALLOC, true) AM_CONDITIONAL(ENABLE_SERCOM_STUB, true) diff --git a/contrib/jenkins_arm.sh b/contrib/jenkins_arm.sh index e3a6cd1..8ee90f0 100755 --- a/contrib/jenkins_arm.sh +++ b/contrib/jenkins_arm.sh @@ -18,6 +18,7 @@ --enable-embedded \ --disable-doxygen \ --disable-shared \ + --disable-libsctp \ --enable-external-tests \ CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs $WERROR_FLAGS" -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f Gerrit-Change-Number: 15871 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roox Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Oct 28 18:28:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:28:30 +0000 Subject: Change in osmo-bts[master]: cosmetic: l1sap.c: Fix typo In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15879 ) Change subject: cosmetic: l1sap.c: Fix typo ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9fee7be915546cfd11810c74d511beb8ec10d044 Gerrit-Change-Number: 15879 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 18:28: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 Oct 28 18:28:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:28:34 +0000 Subject: Change in osmo-bts[master]: cosmetic: l1sap.c: Fix typo In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15879 ) Change subject: cosmetic: l1sap.c: Fix typo ...................................................................... cosmetic: l1sap.c: Fix typo Change-Id: I9fee7be915546cfd11810c74d511beb8ec10d044 --- M src/common/l1sap.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/l1sap.c b/src/common/l1sap.c index c68dc79..7bf0b09 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1254,7 +1254,7 @@ } /* Some brilliant engineer decided that the ordering of * fields on the Um interface is different from the - * order of fields in RLS. See TS 04.04 (Chapter 7.2) + * order of fields in RSL. See TS 04.04 (Chapter 7.2) * vs. TS 08.58 (Chapter 9.3.10). */ lchan->meas.l1_info[0] = data[0] << 3; lchan->meas.l1_info[0] |= ((data[0] >> 5) & 1) << 2; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9fee7be915546cfd11810c74d511beb8ec10d044 Gerrit-Change-Number: 15879 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 Mon Oct 28 18:29:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:29:06 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: Fix typo in 'no depends-on-bts' cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15880 ) Change subject: bsc_vty: Fix typo in 'no depends-on-bts' cmd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I32e0d3dc8672206f346d25b45e06e9e3fe0b64e7 Gerrit-Change-Number: 15880 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 18:29: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 Oct 28 18:29:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:29:12 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: Fix typo in 'no depends-on-bts' cmd In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15880 ) Change subject: bsc_vty: Fix typo in 'no depends-on-bts' cmd ...................................................................... bsc_vty: Fix typo in 'no depends-on-bts' cmd Change-Id: I32e0d3dc8672206f346d25b45e06e9e3fe0b64e7 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 06c06de..a388c9a 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3700,7 +3700,7 @@ } DEFUN(cfg_bts_no_depends_on, cfg_bts_no_depends_on_cmd, - "depeneds-on-bts <0-255>", + "no depends-on-bts <0-255>", NO_STR "This BTS can only be started if another one is up\n" BTS_NR_STR) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I32e0d3dc8672206f346d25b45e06e9e3fe0b64e7 Gerrit-Change-Number: 15880 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 Mon Oct 28 18:31:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 18:31:20 +0000 Subject: Change in osmo-bsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15882 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaaa61b363b093f00b6653c3df64d3e66583b9f8 Gerrit-Change-Number: 15882 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 18:31: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 Oct 28 18:42:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 28 Oct 2019 18:42:56 +0000 Subject: Change in osmo-bsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15882 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages TS 48.058 sec 8.4.1 CHANNEL ACTIVATION and state: """ The BS and MS Power Parameters elements are included to indicate that BS and/or MS power control is to be performed by BTS. The maximum power to be used is indicated in the BS and MS Power elements respectively. """ Since we always want the BTS to do autonomous MS power control, let's add it. Related: OS#1622 Change-Id: Icaaa61b363b093f00b6653c3df64d3e66583b9f8 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 4a7d104..575f91d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -316,6 +316,8 @@ dh->chan_nr = chan_nr; msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); + /* indicate MS power control to be performed by BTS: */ + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); msg->dst = lchan->ts->trx->rsl_link; @@ -541,6 +543,9 @@ msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power); msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta); + /* indicate MS power control to be performed by BTS: */ + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + mr_config_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaaa61b363b093f00b6653c3df64d3e66583b9f8 Gerrit-Change-Number: 15882 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 Mon Oct 28 19:12:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:12:18 +0000 Subject: Change in osmo-bsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15882 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... Patch Set 1: Actually, at second thought this may be Problematic. We're talking RSL to different BTS models, and as we don't know how they interpret an empty MS Power Parameters IE (its contents is proprietary) we should be careful here. At the very least it needs to be tested with nanoBTS. If you want to be on the safe side, include it only when talking to an osmo-bts on the other side. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaaa61b363b093f00b6653c3df64d3e66583b9f8 Gerrit-Change-Number: 15882 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:12: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 Oct 28 19:13:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:13:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15883 ) Change subject: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e Gerrit-Change-Number: 15883 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:13: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 Mon Oct 28 19:14:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:14:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881 ) Change subject: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ecf03bbab169f9fda4e4a61d233d6a30b2a91b9 Gerrit-Change-Number: 15881 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19: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 Oct 28 19:14:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:14:47 +0000 Subject: Change in docker-playground[master]: Introduce ttcn3-stp-test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15872 ) Change subject: Introduce ttcn3-stp-test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I635c891f5da7b8c59527abbad14d7377465d1045 Gerrit-Change-Number: 15872 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:14: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 Oct 28 19:15:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:15:23 +0000 Subject: Change in libosmocore[master]: vty: Return error if cmd returns CMD_WARNING while reading cfg file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15827 ) Change subject: vty: Return error if cmd returns CMD_WARNING while reading cfg file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Gerrit-Change-Number: 15827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:15: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 Oct 28 19:15:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:15:29 +0000 Subject: Change in libosmocore[master]: vty: Return error if cmd returns CMD_WARNING while reading cfg file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15827 ) Change subject: vty: Return error if cmd returns CMD_WARNING while reading cfg file ...................................................................... vty: Return error if cmd returns CMD_WARNING while reading cfg file Otherwise bad configurations can easily sneak in and produce unexpected behavior. Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 --- M src/vty/command.c M tests/Makefile.am A tests/vty/fail_cmd_ret_warning.cfg M tests/vty/vty_test.c M tests/vty/vty_test.ok 5 files changed, 29 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index a36f30a..6a9d18a 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2631,8 +2631,7 @@ ret = cmd_execute_command_strict(vline, vty, NULL); cmd_free_strvec(vline); - if (ret != CMD_SUCCESS && ret != CMD_WARNING - && ret != CMD_ERR_NOTHING_TODO) { + if (ret != CMD_SUCCESS && ret != CMD_ERR_NOTHING_TODO) { if (indent) { talloc_free(indent); indent = NULL; diff --git a/tests/Makefile.am b/tests/Makefile.am index e0993b1..60213ed 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -293,6 +293,7 @@ vty/fail_not_de-indented.cfg \ vty/fail_tabs_and_spaces.cfg \ vty/fail_too_much_indent.cfg \ + vty/fail_cmd_ret_warning.cfg \ vty/ok.cfg \ vty/ok_empty_parent.cfg \ vty/ok_ignore_blank.cfg \ diff --git a/tests/vty/fail_cmd_ret_warning.cfg b/tests/vty/fail_cmd_ret_warning.cfg new file mode 100644 index 0000000..b03f02a --- /dev/null +++ b/tests/vty/fail_cmd_ret_warning.cfg @@ -0,0 +1,3 @@ +return-success +return-warning +return-success diff --git a/tests/vty/vty_test.c b/tests/vty/vty_test.c index 30efb9a..0d68a6c 100644 --- a/tests/vty/vty_test.c +++ b/tests/vty/vty_test.c @@ -421,8 +421,27 @@ return CMD_SUCCESS; } +DEFUN(cfg_ret_success, cfg_ret_success_cmd, + "return-success", + "testing return success\n") +{ + printf("Called: 'return-success'\n"); + return CMD_SUCCESS; +} + +DEFUN(cfg_ret_warning, cfg_ret_warning_cmd, + "return-warning", + "testing return warning\n") +{ + printf("Called: 'return-warning'\n"); + return CMD_WARNING; +} + void test_vty_add_cmds() { + install_element(CONFIG_NODE, &cfg_ret_warning_cmd); + install_element(CONFIG_NODE, &cfg_ret_success_cmd); + install_element(CONFIG_NODE, &cfg_level1_cmd); install_node(&level1_node, NULL); install_element(LEVEL1_NODE, &cfg_level1_child_cmd); @@ -524,6 +543,7 @@ test_exit_by_indent("fail_tabs_and_spaces.cfg", -EINVAL); test_exit_by_indent("ok_indented_root.cfg", 0); test_exit_by_indent("ok_empty_parent.cfg", 0); + test_exit_by_indent("fail_cmd_ret_warning.cfg", -EINVAL); test_is_cmd_ambiguous(); diff --git a/tests/vty/vty_test.ok b/tests/vty/vty_test.ok index 2f76ff9..0b5ac9c 100644 --- a/tests/vty/vty_test.ok +++ b/tests/vty/vty_test.ok @@ -286,6 +286,10 @@ called level3 node k called level1 child cmd k got rc=0 +reading file fail_cmd_ret_warning.cfg, expecting rc=-22 +Called: 'return-success' +Called: 'return-warning' +got rc=-22 Going to test is_cmd_ambiguous() Going to execute 'ambiguous_nr' Called: 'ambiguous_nr [<0-23>]' (argc=0) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Gerrit-Change-Number: 15827 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 Mon Oct 28 19:16:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:16:12 +0000 Subject: Change in libosmo-sccp[master]: ss7: Implement AS traffic mode loadshare using round robin ASP selection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 ) Change subject: ss7: Implement AS traffic mode loadshare using round robin ASP selection ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 Gerrit-Change-Number: 15802 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:16: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 Mon Oct 28 19:16:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:16:32 +0000 Subject: Change in libosmo-sccp[master]: ss7: Implement AS traffic mode loadshare using round robin ASP selection In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 ) Change subject: ss7: Implement AS traffic mode loadshare using round robin ASP selection ...................................................................... ss7: Implement AS traffic mode loadshare using round robin ASP selection Related: OS#4220 Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/xua_as_fsm.c 3 files changed, 46 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index 98b3b88..224f6bc 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 libosmo-sigtran osmo_ss7_asp_peer ABI breakage (host is now an array of strings) +libosmo-sigtran osmo_ss7_as ABI breakage (added field last_asp_idx_sent) diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 12aeea4..4f3d6f5 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -322,6 +322,7 @@ } pc_override; struct osmo_ss7_asp *asps[16]; + uint8_t last_asp_idx_sent; /* used for load-sharing traffic mode (round robin implementation) */ } cfg; }; diff --git a/src/xua_as_fsm.c b/src/xua_as_fsm.c index 541e52c..cf75ef3 100644 --- a/src/xua_as_fsm.c +++ b/src/xua_as_fsm.c @@ -71,14 +71,12 @@ return sent; } -/* actually transmit a message through this AS */ -int xua_as_transmit_msg(struct osmo_ss7_as *as, struct msgb *msg) +static struct osmo_ss7_asp *xua_as_select_asp_override(struct osmo_ss7_as *as) { struct osmo_ss7_asp *asp; unsigned int i; - /* FIXME: proper selection of the ASP based on the SLS and the - * traffic mode type! */ + /* FIXME: proper selection of the ASP based on the SLS! */ for (i = 0; i < ARRAY_SIZE(as->cfg.asps); i++) { asp = as->cfg.asps[i]; if (!asp) @@ -86,6 +84,48 @@ if (asp) break; } + return asp; +} + +static struct osmo_ss7_asp *xua_as_select_asp_roundrobin(struct osmo_ss7_as *as) +{ + struct osmo_ss7_asp *asp; + unsigned int i; + unsigned int first_idx; + + first_idx = (as->cfg.last_asp_idx_sent + 1) % ARRAY_SIZE(as->cfg.asps); + i = first_idx; + do { + asp = as->cfg.asps[i]; + if (asp) + break; + i = (i + 1) % ARRAY_SIZE(as->cfg.asps); + } while (i != first_idx); + as->cfg.last_asp_idx_sent = i; + + return asp; +} + +/* actually transmit a message through this AS */ +int xua_as_transmit_msg(struct osmo_ss7_as *as, struct msgb *msg) +{ + struct osmo_ss7_asp *asp = NULL; + + switch (as->cfg.mode) { + case OSMO_SS7_AS_TMOD_OVERRIDE: + asp = xua_as_select_asp_override(as); + break; + case OSMO_SS7_AS_TMOD_LOADSHARE: + case OSMO_SS7_AS_TMOD_ROUNDROBIN: + asp = xua_as_select_asp_roundrobin(as); + break; + case OSMO_SS7_AS_TMOD_BCAST: + LOGPFSM(as->fi, "Traffic mode broadcast not implemented, dropping message\n"); + msgb_free(msg); + return -1; + case _NUM_OSMO_SS7_ASP_TMOD: + OSMO_ASSERT(false); + } if (!asp) { LOGPFSM(as->fi, "No ASP in AS, dropping message\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I98144dde237672df2e78c7c92923e6f4cb77a271 Gerrit-Change-Number: 15802 Gerrit-PatchSet: 6 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 Mon Oct 28 19:16:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:16:32 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set configured AS traffic mode when sending Routing Key Register... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 ) Change subject: ss7: Set configured AS traffic mode when sending Routing Key Register msg ...................................................................... ss7: Set configured AS traffic mode when sending Routing Key Register msg Otherwise default OSMO_SS7_AS_TMOD_OVERRIDE=0 value is always set regardless of the VTY config "traffic-mode" under AS node. Related: OS#4220 Change-Id: I5d24772f07e77cc3ba6edfa819bb9bc0266a1064 --- M src/xua_default_lm_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c index 880f89c..338f4ae 100644 --- a/src/xua_default_lm_fsm.c +++ b/src/xua_default_lm_fsm.c @@ -184,6 +184,7 @@ } /* Fill in settings from first AS (TODO: multiple AS support) */ prim->u.rk_reg.key = as->cfg.routing_key; + prim->u.rk_reg.traf_mode = as->cfg.mode; osmo_xlm_sap_down(lmp->asp, &prim->oph); break; case T_WAIT_NOTIFY_RKM: -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5d24772f07e77cc3ba6edfa819bb9bc0266a1064 Gerrit-Change-Number: 15803 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 Mon Oct 28 19:16:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:16:47 +0000 Subject: Change in libosmo-sccp[master]: ss7: Only override traffic mode from recv REG REQ if not set by VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 ) Change subject: ss7: Only override traffic mode from recv REG REQ if not set by VTY ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 Gerrit-Change-Number: 15804 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:16: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 Oct 28 19:16:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:16:53 +0000 Subject: Change in libosmo-sccp[master]: ss7: Only override traffic mode from recv REG REQ if not set by VTY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 ) Change subject: ss7: Only override traffic mode from recv REG REQ if not set by VTY ...................................................................... ss7: Only override traffic mode from recv REG REQ if not set by VTY RFC 4666 (SS7/MTP3/M3UA) states in isection 4.3.4.3 ASP Active Procedures: """ If the traffic handling mode of the Application Server is not already known via configuration data, then the traffic handling mode indicated in the first ASP Active message causing the transition of the Application Server state to AS-ACTIVE MAY be used to set the mode. """ In section 3.6.1 Registration Request (REG REQ), no related information is provided on how to handle it, but still makes sense to apply same behavior as in 4.3.4.3. Related: OS#4220 Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 --- M TODO-RELEASE M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M src/xua_rkm.c 5 files changed, 10 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index 224f6bc..37a636e 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -9,3 +9,4 @@ #library what description / commit summary line libosmo-sigtran osmo_ss7_asp_peer ABI breakage (host is now an array of strings) libosmo-sigtran osmo_ss7_as ABI breakage (added field last_asp_idx_sent) +libosmo-sigtran osmo_ss7_as ABI breakage (added field mode_set_by_vty) diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 4f3d6f5..1b5fc31 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -314,6 +314,7 @@ enum osmo_ss7_asp_protocol proto; struct osmo_ss7_routing_key routing_key; enum osmo_ss7_as_traffic_mode mode; + bool mode_set_by_vty; uint32_t recovery_timeout_msec; uint8_t qos_class; struct { diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 6c6e412..efbceb8 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -2049,12 +2049,13 @@ { switch (in) { case M3UA_TMOD_OVERRIDE: - default: return OSMO_SS7_AS_TMOD_OVERRIDE; case M3UA_TMOD_LOADSHARE: return OSMO_SS7_AS_TMOD_LOADSHARE; case M3UA_TMOD_BCAST: return OSMO_SS7_AS_TMOD_BCAST; + default: + OSMO_ASSERT(false); } } diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index b068fec..9c22fb1 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -811,6 +811,7 @@ struct osmo_ss7_as *as = vty->index; as->cfg.mode = get_string_value(osmo_ss7_as_traffic_mode_vals, argv[0]); + as->cfg.mode_set_by_vty = true; return CMD_SUCCESS; } @@ -994,7 +995,7 @@ continue; vty_out(vty, " asp %s%s", asp->cfg.name, VTY_NEWLINE); } - if (as->cfg.mode != OSMO_SS7_AS_TMOD_OVERRIDE) + if (as->cfg.mode_set_by_vty) vty_out(vty, " traffic-mode %s%s", osmo_ss7_as_traffic_mode_name(as->cfg.mode), VTY_NEWLINE); if (as->cfg.recovery_timeout_msec != 2000) { diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 2d8a25e..b3c785f 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -152,7 +152,6 @@ unsigned int max_nas_idx, unsigned int *nas_idx) { uint32_t rk_id, rctx, _tmode, dpc; - enum osmo_ss7_as_traffic_mode tmode; struct osmo_ss7_as *as; struct osmo_ss7_route *rt; char namebuf[32]; @@ -171,8 +170,6 @@ return -1; } - tmode = osmo_ss7_tmode_from_xua(_tmode); - /* destination point code (mandatory) */ dpc = xua_msg_get_u32(inner, M3UA_IEI_DEST_PC); @@ -220,6 +217,8 @@ msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INVAL_RKEY, 0); return -1; } + if (!as->cfg.mode_set_by_vty && _tmode) + as->cfg.mode = osmo_ss7_tmode_from_xua(_tmode); } else if (asp->inst->cfg.permit_dyn_rkm_alloc) { /* Create an AS for this routing key */ snprintf(namebuf, sizeof(namebuf), "as-rkm-%u", rctx); @@ -232,7 +231,8 @@ as->cfg.description = talloc_strdup(as, "Auto-generated by RKM"); as->rkm_dyn_allocated = true; - as->cfg.mode = tmode; + if (!as->cfg.mode_set_by_vty && _tmode) + as->cfg.mode = osmo_ss7_tmode_from_xua(_tmode); /* fill routing key */ as->cfg.routing_key.pc = dpc; as->cfg.routing_key.context = rctx; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaebe3a93ad8d2d84ae01e41b02674f8ece9dfc95 Gerrit-Change-Number: 15804 Gerrit-PatchSet: 6 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 Mon Oct 28 19:18:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:18:38 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 ) Change subject: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Gerrit-Change-Number: 15862 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:18: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 Mon Oct 28 19:19:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:19:05 +0000 Subject: Change in libosmo-sccp[master]: xua: Verify all route ctxs received in ASPAC msg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15874 ) Change subject: xua: Verify all route ctxs received in ASPAC msg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I16ad0847d671522c8942b441db7e4c460f4f142b Gerrit-Change-Number: 15874 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:19: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 Oct 28 19:19:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:19:18 +0000 Subject: Change in libosmo-sccp[master]: xua: Verify all route ctxs received in ASPAC msg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15874 ) Change subject: xua: Verify all route ctxs received in ASPAC msg ...................................................................... xua: Verify all route ctxs received in ASPAC msg Change-Id: I16ad0847d671522c8942b441db7e4c460f4f142b --- M src/xua_asp_fsm.c 1 file changed, 10 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index db4ffcb..1b39639 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -416,6 +416,9 @@ struct osmo_ss7_asp *asp = xafp->asp; struct xua_msg *xua_in; uint32_t traf_mode; + struct xua_msg_part *part; + uint32_t rctx; + int i; check_stop_t_ack(fi, event); switch (event) { @@ -456,11 +459,13 @@ break; } } - if (xua_msg_find_tag(xua_in, M3UA_IEI_ROUTE_CTX)) { - uint32_t rctx = xua_msg_get_u32(xua_in, M3UA_IEI_ROUTE_CTX); - if (!osmo_ss7_as_find_by_rctx(asp->inst, rctx)) { - peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX); - break; + if ((part = xua_msg_find_tag(xua_in, M3UA_IEI_ROUTE_CTX))) { + for (i = 0; i < part->len / sizeof(uint32_t); i++) { + rctx = osmo_load32be(&part->dat[i * sizeof(uint32_t)]); + if (!osmo_ss7_as_find_by_rctx(asp->inst, rctx)) { + peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX); + break; + } } } /* send ACK */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I16ad0847d671522c8942b441db7e4c460f4f142b Gerrit-Change-Number: 15874 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 Mon Oct 28 19:19:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:19:18 +0000 Subject: Change in libosmo-sccp[master]: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 ) Change subject: ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known ...................................................................... ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Related: OS#4220 --- M src/xua_asp_fsm.c 1 file changed, 7 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 1b39639..890a6b5 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -204,8 +204,9 @@ /* RFC3868 Ch. 3.6.2 */ xua->hdr = XUA_HDR(SUA_MSGC_ASPTM, SUA_ASPTM_ACTIVE_ACK); /* Optional: Traffic Mode Type */ - /* Mandatory: Routing Context */ - //FIXME xua_msg_add_u32(xua, SUA_IEI_ROUTE_CTX, + xua_msg_copy_part(xua, M3UA_IEI_TRAF_MODE_TYP, in, M3UA_IEI_TRAF_MODE_TYP); + /* Optional: Routing Context */ + xua_msg_copy_part(xua, M3UA_IEI_ROUTE_CTX, in, M3UA_IEI_ROUTE_CTX); /* Optional: Info String */ break; case XUA_ASP_E_ASPTM_ASPIA: @@ -469,7 +470,7 @@ } } /* send ACK */ - peer_send(fi, XUA_ASP_E_ASPTM_ASPAC_ACK, NULL); + peer_send(fi, XUA_ASP_E_ASPTM_ASPAC_ACK, xua_in); /* transition state and inform layer manager */ osmo_fsm_inst_state_chg(fi, XUA_ASP_S_ACTIVE, 0, 0); send_xlm_prim_simple(fi, OSMO_XLM_PRIM_M_ASP_ACTIVE, @@ -509,6 +510,7 @@ static void xua_asp_fsm_active(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct xua_msg *xua_in; check_stop_t_ack(fi, event); switch (event) { case XUA_ASP_E_ASPSM_ASPDN_ACK: @@ -573,10 +575,11 @@ PRIM_OP_INDICATION); break; case XUA_ASP_E_ASPTM_ASPAC: + xua_in = data; /* only in role SG */ ENSURE_SG_OR_IPSP(fi, event); /* send ACK */ - peer_send(fi, XUA_ASP_E_ASPTM_ASPAC_ACK, NULL); + peer_send(fi, XUA_ASP_E_ASPTM_ASPAC_ACK, xua_in); break; } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic99131489efaef87f882312a042f5feb6a60bb86 Gerrit-Change-Number: 15862 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 Oct 28 19:24:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:24:17 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: I'm not particularly happy about all those kludges that we (actually, heels) add to osmo_FSM, making it more and more complex. We should probably have introduced asynchronous event delivery (where possible) instead and not have all those configurable kludges. It feels patches like this create future engineering devt. But I won't veto it, just think about it... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:24: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 Mon Oct 28 19:25:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:25:48 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str_is_nonzero() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15835 ) Change subject: add osmo_sockaddr_str_is_nonzero() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 Gerrit-Change-Number: 15835 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:25: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 Oct 28 19:27:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:27:32 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 1: Agreeing with pau, we shoould try to make the New behavior default soon and See what the fallo ut is. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:27: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 Mon Oct 28 19:27:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:27:40 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:27: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 Oct 28 19:27:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:27:53 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: enable term_stops_actions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15834 ) Change subject: fsm_dealloc_test: enable term_stops_actions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iff7843e12ce49f169f8c36b14fdb19935f61274d Gerrit-Change-Number: 15834 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 28 Oct 2019 19: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 Mon Oct 28 19:29:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:29:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm cleanup: Do not assert on DLCX failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15836 ) Change subject: mgcp_client_fsm cleanup: Do not assert on DLCX failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic1c3c4deeb4703b60e870af9d5d7be216a87fff8 Gerrit-Change-Number: 15836 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:29: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 Oct 28 19:30:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:30:41 +0000 Subject: Change in osmo-mgw[master]: clear pending requests on MGCP failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15837 ) Change subject: clear pending requests on MGCP failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icb1d485224bb486b84eff6329f0bd95932e63246 Gerrit-Change-Number: 15837 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:30: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 Mon Oct 28 19:31:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:31:58 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm cleanup: Do not assert on DLCX failure In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15836 ) Change subject: mgcp_client_fsm cleanup: Do not assert on DLCX failure ...................................................................... mgcp_client_fsm cleanup: Do not assert on DLCX failure During FSM instance cleanup, a DLCX message composition may fail if a preceding received MGCP message was missing parameters. If that occurs, don't crash, just log an error and deallocate. Change-Id: Ic1c3c4deeb4703b60e870af9d5d7be216a87fff8 --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 4 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/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index e83a119..7565d32 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -525,8 +525,10 @@ LOGPFSML(fi, LOGL_ERROR, "MGW/DLCX: abrupt FSM termination with connections still present, sending unconditional DLCX...\n"); msg = make_dlcx_msg(mgcp_ctx); - OSMO_ASSERT(msg); - mgcp_client_tx(mgcp, msg, NULL, NULL); + if (!msg) + LOGPFSML(fi, LOGL_ERROR, "MGW/DLCX: Error composing DLCX message\n"); + else + mgcp_client_tx(mgcp, msg, NULL, NULL); } talloc_free(mgcp_ctx); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic1c3c4deeb4703b60e870af9d5d7be216a87fff8 Gerrit-Change-Number: 15836 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Oct 28 19:31:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:31:59 +0000 Subject: Change in osmo-mgw[master]: clear pending requests on MGCP failure In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15837 ) Change subject: clear pending requests on MGCP failure ...................................................................... clear pending requests on MGCP failure If an MGCP operation on one conn of an endpoint fails, no longer carry out other pending requests for that endpoint. Only allow pending DLCX to be sent. If the caller schedules two CRCX at the same time, the first CRCX is sent with a wildcarded endpoint name like "rtpbridge/*@mgw". Only when the OK for that returns an allocated endpoint, will the second CRCX be sent, using that actual allocated endpoint name. But, if the first CRCX fails, then we should not send another wildcard CRCX, but rather assume both as failed. Since a failed MGCP message means that the endpoint becomes unusable / undefined and typically deallocates directly, we can actually discard all other pending requests except for DLCX. Change-Id: Icb1d485224bb486b84eff6329f0bd95932e63246 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 20 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/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 420fc0f..3ea1492 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -357,6 +357,8 @@ struct osmo_fsm_inst *notify = ci->notify; uint32_t notify_failure = ci->notify_failure; void *notify_data = ci->notify_data; + struct osmo_mgcpc_ep *ep = ci->ep; + int i; if (!ci->occupied) return; @@ -365,6 +367,24 @@ .ep = ci->ep, }; + /* An MGCP failure typically means the endpoint becomes unusable, cancel all pending request (except DLCX). + * Particularly, if two CRCX were scheduled and the first fails, we must no longer dispatch the second CRCX. */ + for (i = 0; i < ARRAY_SIZE(ep->ci); i++) { + struct osmo_mgcpc_ep_ci *other_ci = &ep->ci[i]; + if (other_ci == ci) + continue; + if (!other_ci->occupied) + continue; + if (!other_ci->pending) + continue; + if (other_ci->sent) + continue; + if (other_ci->verb == MGCP_VERB_DLCX) + continue; + /* Just clear the pending request, don't fire more events than below. */ + other_ci->pending = false; + } + /* If this check has terminated the FSM instance, don't fire any more events to prevent use-after-free problems. * The endpoint FSM does dispatch a term event to its parent, and everything should be cleaned like that. */ if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi)) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icb1d485224bb486b84eff6329f0bd95932e63246 Gerrit-Change-Number: 15837 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Oct 28 19:33:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:33:44 +0000 Subject: Change in osmo-mgw[master]: accept MGCP without SDP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15840 ) Change subject: accept MGCP without SDP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I608001626459ea72415fb142f857550bbb90c683 Gerrit-Change-Number: 15840 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:33: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 Oct 28 19:34:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:34:41 +0000 Subject: Change in osmo-ci[master]: jobs: Introduce ttcn3-stp-test(-latest) jenkins job In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15873 ) Change subject: jobs: Introduce ttcn3-stp-test(-latest) jenkins job ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 Gerrit-Change-Number: 15873 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:34: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 Mon Oct 28 19:36:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:36:06 +0000 Subject: Change in osmo-msc[master]: rtp_stream: sanely cancel MGW endpoint FSM notify In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15851 ) Change subject: rtp_stream: sanely cancel MGW endpoint FSM notify ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I351bb8e8fbc46eb629bcd599f6453e2c84c15015 Gerrit-Change-Number: 15851 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19: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 Mon Oct 28 19:36:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:36:19 +0000 Subject: Change in osmo-msc[master]: use osmo_sockaddr_str_is_nonzero() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15852 ) Change subject: use osmo_sockaddr_str_is_nonzero() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd Gerrit-Change-Number: 15852 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:36: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 Oct 28 19:37:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:37:08 +0000 Subject: Change in osmo-msc[master]: CC: add error handling for CRCX responses In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15853 ) Change subject: CC: add error handling for CRCX responses ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8313bed1d782100bebeac7d8fc040557c4cb653e Gerrit-Change-Number: 15853 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:37: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 Mon Oct 28 19:40:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:40:54 +0000 Subject: Change in osmocom-bb[master]: Fix typo: miliseconds -> milliseconds In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15791 ) Change subject: Fix typo: miliseconds -> milliseconds ...................................................................... Fix typo: miliseconds -> milliseconds Change-Id: I472c12fd1dfbff4ca1ead972535d735857f1c3e7 --- M src/target/firmware/include/comm/timer.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/target/firmware/include/comm/timer.h b/src/target/firmware/include/comm/timer.h index 1996f66..d43b067 100644 --- a/src/target/firmware/include/comm/timer.h +++ b/src/target/firmware/include/comm/timer.h @@ -61,7 +61,7 @@ * timer management */ void osmo_timer_add(struct osmo_timer_list *timer); -void osmo_timer_schedule(struct osmo_timer_list *timer, int miliseconds); +void osmo_timer_schedule(struct osmo_timer_list *timer, int milliseconds); void osmo_timer_del(struct osmo_timer_list *timer); int osmo_timer_pending(struct osmo_timer_list *timer); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I472c12fd1dfbff4ca1ead972535d735857f1c3e7 Gerrit-Change-Number: 15791 Gerrit-PatchSet: 2 Gerrit-Owner: roox 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 Oct 28 19:43:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:43:10 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19:43: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 Mon Oct 28 19:43:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:43:14 +0000 Subject: Change in libosmocore[master]: gsm0508: add functions to calculate beginning of a block In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15719 ) Change subject: gsm0508: add functions to calculate beginning of a block ...................................................................... gsm0508: add functions to calculate beginning of a block The calculation of the beginning of a block for TCH/F, TCH/H and FACCH can be challenging since those channels are affected by the diagonal interleaving of the TCH channels. However, GSM 05.02 Section 7 Table 1 of 5 specifies how the blocks are distributed over the TDMA frame interval. Lets add a mapping function that is based on that table Related: OS#3803 Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm0502/gsm0502_test.c A tests/gsm0502/gsm0502_test.ok M tests/testsuite.at 7 files changed, 611 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/gsm0502.h b/include/osmocom/gsm/gsm0502.h index fe5cf7e..c9901df 100644 --- a/include/osmocom/gsm/gsm0502.h +++ b/include/osmocom/gsm/gsm0502.h @@ -35,3 +35,15 @@ unsigned int gsm0502_calc_paging_group(struct gsm48_control_channel_descr *chan_desc, uint64_t imsi); + +enum gsm0502_fn_remap_channel { + FN_REMAP_TCH_F, + FN_REMAP_TCH_H0, + FN_REMAP_TCH_H1, + FN_REMAP_FACCH_F, + FN_REMAP_FACCH_H0, + FN_REMAP_FACCH_H1, + FN_REMAP_MAX, +}; + +uint32_t gsm0502_fn_remap(uint32_t fn, enum gsm0502_fn_remap_channel channel); diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 53259a4..1a71e61 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -27,6 +27,9 @@ #include #include #include +#include +#include +#include unsigned int gsm0502_calc_paging_group(struct gsm48_control_channel_descr *chan_desc, uint64_t imsi) @@ -44,3 +47,157 @@ return group; } + +/* Clause 7 Table 1 of 5 Mapping of logical channels onto physical channels */ +#define TCH_REPEAT_LENGTH 13 +#define FACCH_F_REPEAT_LENGTH 13 +#define FACCH_H_REPEAT_LENGTH 26 + +static const uint8_t gsm0502_tch_f_traffic_block_map[3][8] = { + {0, 1, 2, 3, 4, 5, 6, 7}, + {4, 5, 6, 7, 8, 9, 10, 11}, + {8, 9, 10, 11, 0, 1, 2, 3} +}; + +static const uint8_t gsm0502_tch_h0_traffic_block_map[3][4] = { + {0, 2, 4, 6}, + {4, 6, 8, 10}, + {8, 10, 0, 2} +}; + +static const uint8_t gsm0502_tch_h1_traffic_block_map[3][4] = { + {1, 3, 5, 7}, + {5, 7, 9, 11}, + {9, 11, 1, 3} +}; + +static const uint8_t gsm0502_tch_f_facch_block_map[3][8] = { + {0, 1, 2, 3, 4, 5, 6, 7}, + {4, 5, 6, 7, 8, 9, 10, 11}, + {8, 9, 10, 11, 0, 1, 2, 3} +}; + +static const uint8_t gsm0502_tch_h0_facch_block_map[3][6] = { + {0, 2, 4, 6, 8, 10}, + {8, 10, 13, 15, 17, 19}, + {17, 19, 21, 23, 0, 2} +}; + +static const uint8_t gsm0502_tch_h1_facch_block_map[3][6] = { + {1, 3, 5, 7, 9, 11}, + {9, 11, 14, 16, 18, 20}, + {18, 20, 22, 24, 1, 3} +}; + +/* Struct to describe a remapping function for block frame nbumbers. The member + * blockend describes the ending of a block for which we want to determine the + * beginning frame number. The member distance describes the value we need to + * subtract from the blockend frame number in order to get the beginning of the + * the block. The member cycle describes the Repeat length in TDMA frames we + * are dealing with. For traffic channels this is always 13, for control + * channels it is different. The member len simply defines amount of + * blockendings and distances we store in the remap table */ +struct fn_remap_table { + unsigned int cycle; + unsigned int len; + uint8_t blockend[8]; + uint8_t distance[8]; +}; + +/* Memory to hold the remap tables we will automatically generate on startup */ +static struct fn_remap_table tch_f_remap_table; +static struct fn_remap_table tch_h0_remap_table; +static struct fn_remap_table tch_h1_remap_table; +static struct fn_remap_table facch_f_remap_table; +static struct fn_remap_table facch_h0_remap_table; +static struct fn_remap_table facch_h1_remap_table; +static struct fn_remap_table *fn_remap_table_ptr[FN_REMAP_MAX]; + +/* Generate a remap table from a given block map. A block map lists the block + * layout as defined in GSM 05.02, Clause 7 Table 1 of 5, one block per row. + * Parameters: + * table: name of the remap table to output + * map: traffic block map input + * rows: length of the traffic block map + * cols: witdh of the traffic block map + * repeat: repeat length in TDMA frames (cycle) */ +#define fn_remap_table_from_traffic_block_map(table, map, rows, cols, repeat) \ + for(i=0;icycle; + + for (i = 0; i < table->len; i++) { + if (table->blockend[i] == fn_cycle) { + sub = table->distance[i]; + break; + } + } + + if (sub == -1) { + LOGP(DLGLOBAL, LOGL_ERROR, "could not remap frame number!, fn=%"PRIu32"\n", fn); + return fn; + } + + fn_map = (fn + GSM_MAX_FN - sub) % GSM_MAX_FN; + + return fn_map; +} diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index ea1f759..724fe5b 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -107,6 +107,7 @@ gsm0480_gen_reject; gsm0502_calc_paging_group; +gsm0502_fn_remap; gsm0503_xcch; gsm0503_rach; diff --git a/tests/Makefile.am b/tests/Makefile.am index 60213ed..7624996 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -33,6 +33,7 @@ sockaddr_str/sockaddr_str_test \ use_count/use_count_test \ context/context_test \ + gsm0502/gsm0502_test \ $(NULL) if ENABLE_MSGFILE @@ -108,6 +109,9 @@ conv_conv_test_SOURCES = conv/conv_test.c conv/conv.c conv_conv_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la +gsm0502_gsm0502_test_SOURCES = gsm0502/gsm0502_test.c +gsm0502_gsm0502_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la + conv_conv_gsm0503_test_SOURCES = conv/conv_gsm0503_test.c conv/conv.c conv/gsm0503_test_vectors.c conv_conv_gsm0503_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la conv_conv_gsm0503_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/tests/conv @@ -328,6 +332,7 @@ sockaddr_str/sockaddr_str_test.ok \ use_count/use_count_test.ok use_count/use_count_test.err \ context/context_test.ok \ + gsm0502/gsm0502_test.ok \ $(NULL) DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c diff --git a/tests/gsm0502/gsm0502_test.c b/tests/gsm0502/gsm0502_test.c new file mode 100644 index 0000000..a950c6c --- /dev/null +++ b/tests/gsm0502/gsm0502_test.c @@ -0,0 +1,159 @@ +/* + * (C) 2019 by sysmocom s.f.m.c. GmbH + * Author: Philipp Maier + * 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. + * + */ + +#include +#include +#include +#include +#include + +/* TCH-F, block endings, 3x 104-frame cycles */ +uint32_t tch_f_fn_samples[] = { 1036987, 1036991, 1036995, 1037000, 1037004, 1037008, 1037013, 1037017, + 1037021, 1037026, 1037030, 1037034, 1037039, 1037043, 1037047, 1037052, + 1037056, 1037060, 1037065, + 1037069, 1037073, 1037078, 1037082, 1037086, 1037091, 1037095, 1037099, + 1037104, 1037108, 1037112, + 1037117, 1037121, 1037125, 1037130, 1037134, 1037138, 1037143, 1037147, + 1037151, 1037156, 1037160, + 1037164, 1037169, 1037173, 1037177, 1037182, 1037186, 1037190, 1037195, + 1037199, 1037203, 1037208, + 1037212, 1037216, 1037221, 1037225, 1037229, 1037234, 1037238, 1037242, + 1037247, 1037251, 1037255, + 1037260, 1037264, 1037268, 1037273, 1037277, 1037281, 1037286, 1037290, + 1037294 +}; + +/* TCH-H0, block endings, 3x 104-frame cycles */ +uint32_t tch_h0_fn_samples[] = { 1175826, 1175830, 1175834, 1175839, 1175843, 1175847, 1175852, 1175856, + 1175860, 1175865, 1175869, 1175873, 1175878, 1175882, 1175886, 1175891, + 1175895, 1175899, 1175904, + 1175908, 1175912, 1175917, 1175921, 1175925, 1175930, 1175934, 1175938, + 1175943, 1175947, 1175951, + 1175956, 1175960, 1175964, 1175969, 1175973, 1175977, 1175982, 1175986, + 1175990, 1175995, 1175999, + 1176003, 1176008, 1176012, 1176016, 1176021, 1176025, 1176029, 1176034, + 1176038, 1176042, 1176047, + 1176051, 1176055, 1176060, 1176064, 1176068, 1176073, 1176077, 1176081, + 1176086, 1176090, 1176094, + 1176099, 1176103, 1176107, 1176112, 1176116, 1176120, 1176125, 1176129, + 1176133 +}; + +/* TCH-H1, block endings, 3x 104-frame cycles */ +unsigned int tch_h1_fn_samples[] = { 1175827, 1175831, 1175835, 1175840, 1175844, 1175848, 1175853, 1175857, + 1175861, 1175866, 1175870, 1175874, 1175879, 1175883, 1175887, 1175892, + 1175896, 1175900, 1175905, + 1175909, 1175913, 1175918, 1175922, 1175926, 1175931, 1175935, 1175939, + 1175944, 1175948, 1175952, + 1175957, 1175961, 1175965, 1175970, 1175974, 1175978, 1175983, 1175987, + 1175991, 1175996, 1176000, + 1176004, 1176009, 1176013, 1176017, 1176022, 1176026, 1176030, 1176035, + 1176039, 1176043, 1176048, + 1176052, 1176056, 1176061, 1176065, 1176069, 1176074, 1176078, 1176082, + 1176087, 1176091, 1176095, + 1176100, 1176104, 1176108, 1176113, 1176117, 1176121, 1176126, 1176130, + 1176134 +}; + +/* FACCH-F, block endings */ +uint32_t facch_f_fn_samples[] = { 177275, 177314, 177336, 177375, 177396, 177435, 178328, 178367, 178393, + 180014, 180053, 180079, 180113, 180144, 180183 +}; + +/* FACCH-H0, block endings */ +uint32_t facch_h0_fn_samples[] = { 499956, 499999, 500034, 500077, 500952, 501836, 501880, 502850, 502894, + 502937, 503006, 503050 +}; + +/* FACCH-H1, block endings */ +uint32_t facch_h1_fn_samples[] = { 500728, 500771, 500797, 500841, 500875, 500919, 501751, 501794, 501837, + 502782, 502825, 502869, 502903, 502955, 502999 +}; + +static void test_gsm0502_fn_remap() +{ + unsigned int i; + uint32_t fn_begin; + uint32_t fn_end; + + printf("Testing gsm0502_fn_remap()\n"); + printf("TCH/F\n"); + for (i = 0; i < ARRAY_SIZE(tch_h1_fn_samples); i++) { + fn_end = tch_f_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_TCH_F); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("TCH/H0\n"); + for (i = 0; i < ARRAY_SIZE(tch_h0_fn_samples); i++) { + fn_end = tch_h0_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_TCH_H0); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("TCH/H1\n"); + for (i = 0; i < ARRAY_SIZE(tch_h1_fn_samples); i++) { + fn_end = tch_h1_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_TCH_H1); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("FACCH/F\n"); + for (i = 0; i < ARRAY_SIZE(facch_f_fn_samples); i++) { + fn_end = facch_f_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_FACCH_F); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("FACCH/H0\n"); + for (i = 0; i < ARRAY_SIZE(facch_h0_fn_samples); i++) { + fn_end = facch_h0_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_FACCH_H0); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); + + printf("FACCH/H1\n"); + for (i = 0; i < ARRAY_SIZE(facch_h1_fn_samples); i++) { + fn_end = facch_h1_fn_samples[i]; + fn_begin = gsm0502_fn_remap(fn_end, FN_REMAP_FACCH_H1); + printf("fn_end=%u, fn_end%%104=%u, fn_begin=%u, fn_begin%%104=%u\n", fn_end, fn_end % 104, fn_begin, + fn_begin % 104); + } + printf("\n"); +} + +int main(int argc, char **argv) +{ + test_gsm0502_fn_remap(); + return EXIT_SUCCESS; +} diff --git a/tests/gsm0502/gsm0502_test.ok b/tests/gsm0502/gsm0502_test.ok new file mode 100644 index 0000000..89418d3 --- /dev/null +++ b/tests/gsm0502/gsm0502_test.ok @@ -0,0 +1,271 @@ +Testing gsm0502_fn_remap() +TCH/F +fn_end=1036987, fn_end%104=3, fn_begin=1036979, fn_begin%104=99 +fn_end=1036991, fn_end%104=7, fn_begin=1036984, fn_begin%104=0 +fn_end=1036995, fn_end%104=11, fn_begin=1036988, fn_begin%104=4 +fn_end=1037000, fn_end%104=16, fn_begin=1036992, fn_begin%104=8 +fn_end=1037004, fn_end%104=20, fn_begin=1036997, fn_begin%104=13 +fn_end=1037008, fn_end%104=24, fn_begin=1037001, fn_begin%104=17 +fn_end=1037013, fn_end%104=29, fn_begin=1037005, fn_begin%104=21 +fn_end=1037017, fn_end%104=33, fn_begin=1037010, fn_begin%104=26 +fn_end=1037021, fn_end%104=37, fn_begin=1037014, fn_begin%104=30 +fn_end=1037026, fn_end%104=42, fn_begin=1037018, fn_begin%104=34 +fn_end=1037030, fn_end%104=46, fn_begin=1037023, fn_begin%104=39 +fn_end=1037034, fn_end%104=50, fn_begin=1037027, fn_begin%104=43 +fn_end=1037039, fn_end%104=55, fn_begin=1037031, fn_begin%104=47 +fn_end=1037043, fn_end%104=59, fn_begin=1037036, fn_begin%104=52 +fn_end=1037047, fn_end%104=63, fn_begin=1037040, fn_begin%104=56 +fn_end=1037052, fn_end%104=68, fn_begin=1037044, fn_begin%104=60 +fn_end=1037056, fn_end%104=72, fn_begin=1037049, fn_begin%104=65 +fn_end=1037060, fn_end%104=76, fn_begin=1037053, fn_begin%104=69 +fn_end=1037065, fn_end%104=81, fn_begin=1037057, fn_begin%104=73 +fn_end=1037069, fn_end%104=85, fn_begin=1037062, fn_begin%104=78 +fn_end=1037073, fn_end%104=89, fn_begin=1037066, fn_begin%104=82 +fn_end=1037078, fn_end%104=94, fn_begin=1037070, fn_begin%104=86 +fn_end=1037082, fn_end%104=98, fn_begin=1037075, fn_begin%104=91 +fn_end=1037086, fn_end%104=102, fn_begin=1037079, fn_begin%104=95 +fn_end=1037091, fn_end%104=3, fn_begin=1037083, fn_begin%104=99 +fn_end=1037095, fn_end%104=7, fn_begin=1037088, fn_begin%104=0 +fn_end=1037099, fn_end%104=11, fn_begin=1037092, fn_begin%104=4 +fn_end=1037104, fn_end%104=16, fn_begin=1037096, fn_begin%104=8 +fn_end=1037108, fn_end%104=20, fn_begin=1037101, fn_begin%104=13 +fn_end=1037112, fn_end%104=24, fn_begin=1037105, fn_begin%104=17 +fn_end=1037117, fn_end%104=29, fn_begin=1037109, fn_begin%104=21 +fn_end=1037121, fn_end%104=33, fn_begin=1037114, fn_begin%104=26 +fn_end=1037125, fn_end%104=37, fn_begin=1037118, fn_begin%104=30 +fn_end=1037130, fn_end%104=42, fn_begin=1037122, fn_begin%104=34 +fn_end=1037134, fn_end%104=46, fn_begin=1037127, fn_begin%104=39 +fn_end=1037138, fn_end%104=50, fn_begin=1037131, fn_begin%104=43 +fn_end=1037143, fn_end%104=55, fn_begin=1037135, fn_begin%104=47 +fn_end=1037147, fn_end%104=59, fn_begin=1037140, fn_begin%104=52 +fn_end=1037151, fn_end%104=63, fn_begin=1037144, fn_begin%104=56 +fn_end=1037156, fn_end%104=68, fn_begin=1037148, fn_begin%104=60 +fn_end=1037160, fn_end%104=72, fn_begin=1037153, fn_begin%104=65 +fn_end=1037164, fn_end%104=76, fn_begin=1037157, fn_begin%104=69 +fn_end=1037169, fn_end%104=81, fn_begin=1037161, fn_begin%104=73 +fn_end=1037173, fn_end%104=85, fn_begin=1037166, fn_begin%104=78 +fn_end=1037177, fn_end%104=89, fn_begin=1037170, fn_begin%104=82 +fn_end=1037182, fn_end%104=94, fn_begin=1037174, fn_begin%104=86 +fn_end=1037186, fn_end%104=98, fn_begin=1037179, fn_begin%104=91 +fn_end=1037190, fn_end%104=102, fn_begin=1037183, fn_begin%104=95 +fn_end=1037195, fn_end%104=3, fn_begin=1037187, fn_begin%104=99 +fn_end=1037199, fn_end%104=7, fn_begin=1037192, fn_begin%104=0 +fn_end=1037203, fn_end%104=11, fn_begin=1037196, fn_begin%104=4 +fn_end=1037208, fn_end%104=16, fn_begin=1037200, fn_begin%104=8 +fn_end=1037212, fn_end%104=20, fn_begin=1037205, fn_begin%104=13 +fn_end=1037216, fn_end%104=24, fn_begin=1037209, fn_begin%104=17 +fn_end=1037221, fn_end%104=29, fn_begin=1037213, fn_begin%104=21 +fn_end=1037225, fn_end%104=33, fn_begin=1037218, fn_begin%104=26 +fn_end=1037229, fn_end%104=37, fn_begin=1037222, fn_begin%104=30 +fn_end=1037234, fn_end%104=42, fn_begin=1037226, fn_begin%104=34 +fn_end=1037238, fn_end%104=46, fn_begin=1037231, fn_begin%104=39 +fn_end=1037242, fn_end%104=50, fn_begin=1037235, fn_begin%104=43 +fn_end=1037247, fn_end%104=55, fn_begin=1037239, fn_begin%104=47 +fn_end=1037251, fn_end%104=59, fn_begin=1037244, fn_begin%104=52 +fn_end=1037255, fn_end%104=63, fn_begin=1037248, fn_begin%104=56 +fn_end=1037260, fn_end%104=68, fn_begin=1037252, fn_begin%104=60 +fn_end=1037264, fn_end%104=72, fn_begin=1037257, fn_begin%104=65 +fn_end=1037268, fn_end%104=76, fn_begin=1037261, fn_begin%104=69 +fn_end=1037273, fn_end%104=81, fn_begin=1037265, fn_begin%104=73 +fn_end=1037277, fn_end%104=85, fn_begin=1037270, fn_begin%104=78 +fn_end=1037281, fn_end%104=89, fn_begin=1037274, fn_begin%104=82 +fn_end=1037286, fn_end%104=94, fn_begin=1037278, fn_begin%104=86 +fn_end=1037290, fn_end%104=98, fn_begin=1037283, fn_begin%104=91 +fn_end=1037294, fn_end%104=102, fn_begin=1037287, fn_begin%104=95 + +TCH/H0 +fn_end=1175826, fn_end%104=2, fn_begin=1175819, fn_begin%104=99 +fn_end=1175830, fn_end%104=6, fn_begin=1175824, fn_begin%104=0 +fn_end=1175834, fn_end%104=10, fn_begin=1175828, fn_begin%104=4 +fn_end=1175839, fn_end%104=15, fn_begin=1175832, fn_begin%104=8 +fn_end=1175843, fn_end%104=19, fn_begin=1175837, fn_begin%104=13 +fn_end=1175847, fn_end%104=23, fn_begin=1175841, fn_begin%104=17 +fn_end=1175852, fn_end%104=28, fn_begin=1175845, fn_begin%104=21 +fn_end=1175856, fn_end%104=32, fn_begin=1175850, fn_begin%104=26 +fn_end=1175860, fn_end%104=36, fn_begin=1175854, fn_begin%104=30 +fn_end=1175865, fn_end%104=41, fn_begin=1175858, fn_begin%104=34 +fn_end=1175869, fn_end%104=45, fn_begin=1175863, fn_begin%104=39 +fn_end=1175873, fn_end%104=49, fn_begin=1175867, fn_begin%104=43 +fn_end=1175878, fn_end%104=54, fn_begin=1175871, fn_begin%104=47 +fn_end=1175882, fn_end%104=58, fn_begin=1175876, fn_begin%104=52 +fn_end=1175886, fn_end%104=62, fn_begin=1175880, fn_begin%104=56 +fn_end=1175891, fn_end%104=67, fn_begin=1175884, fn_begin%104=60 +fn_end=1175895, fn_end%104=71, fn_begin=1175889, fn_begin%104=65 +fn_end=1175899, fn_end%104=75, fn_begin=1175893, fn_begin%104=69 +fn_end=1175904, fn_end%104=80, fn_begin=1175897, fn_begin%104=73 +fn_end=1175908, fn_end%104=84, fn_begin=1175902, fn_begin%104=78 +fn_end=1175912, fn_end%104=88, fn_begin=1175906, fn_begin%104=82 +fn_end=1175917, fn_end%104=93, fn_begin=1175910, fn_begin%104=86 +fn_end=1175921, fn_end%104=97, fn_begin=1175915, fn_begin%104=91 +fn_end=1175925, fn_end%104=101, fn_begin=1175919, fn_begin%104=95 +fn_end=1175930, fn_end%104=2, fn_begin=1175923, fn_begin%104=99 +fn_end=1175934, fn_end%104=6, fn_begin=1175928, fn_begin%104=0 +fn_end=1175938, fn_end%104=10, fn_begin=1175932, fn_begin%104=4 +fn_end=1175943, fn_end%104=15, fn_begin=1175936, fn_begin%104=8 +fn_end=1175947, fn_end%104=19, fn_begin=1175941, fn_begin%104=13 +fn_end=1175951, fn_end%104=23, fn_begin=1175945, fn_begin%104=17 +fn_end=1175956, fn_end%104=28, fn_begin=1175949, fn_begin%104=21 +fn_end=1175960, fn_end%104=32, fn_begin=1175954, fn_begin%104=26 +fn_end=1175964, fn_end%104=36, fn_begin=1175958, fn_begin%104=30 +fn_end=1175969, fn_end%104=41, fn_begin=1175962, fn_begin%104=34 +fn_end=1175973, fn_end%104=45, fn_begin=1175967, fn_begin%104=39 +fn_end=1175977, fn_end%104=49, fn_begin=1175971, fn_begin%104=43 +fn_end=1175982, fn_end%104=54, fn_begin=1175975, fn_begin%104=47 +fn_end=1175986, fn_end%104=58, fn_begin=1175980, fn_begin%104=52 +fn_end=1175990, fn_end%104=62, fn_begin=1175984, fn_begin%104=56 +fn_end=1175995, fn_end%104=67, fn_begin=1175988, fn_begin%104=60 +fn_end=1175999, fn_end%104=71, fn_begin=1175993, fn_begin%104=65 +fn_end=1176003, fn_end%104=75, fn_begin=1175997, fn_begin%104=69 +fn_end=1176008, fn_end%104=80, fn_begin=1176001, fn_begin%104=73 +fn_end=1176012, fn_end%104=84, fn_begin=1176006, fn_begin%104=78 +fn_end=1176016, fn_end%104=88, fn_begin=1176010, fn_begin%104=82 +fn_end=1176021, fn_end%104=93, fn_begin=1176014, fn_begin%104=86 +fn_end=1176025, fn_end%104=97, fn_begin=1176019, fn_begin%104=91 +fn_end=1176029, fn_end%104=101, fn_begin=1176023, fn_begin%104=95 +fn_end=1176034, fn_end%104=2, fn_begin=1176027, fn_begin%104=99 +fn_end=1176038, fn_end%104=6, fn_begin=1176032, fn_begin%104=0 +fn_end=1176042, fn_end%104=10, fn_begin=1176036, fn_begin%104=4 +fn_end=1176047, fn_end%104=15, fn_begin=1176040, fn_begin%104=8 +fn_end=1176051, fn_end%104=19, fn_begin=1176045, fn_begin%104=13 +fn_end=1176055, fn_end%104=23, fn_begin=1176049, fn_begin%104=17 +fn_end=1176060, fn_end%104=28, fn_begin=1176053, fn_begin%104=21 +fn_end=1176064, fn_end%104=32, fn_begin=1176058, fn_begin%104=26 +fn_end=1176068, fn_end%104=36, fn_begin=1176062, fn_begin%104=30 +fn_end=1176073, fn_end%104=41, fn_begin=1176066, fn_begin%104=34 +fn_end=1176077, fn_end%104=45, fn_begin=1176071, fn_begin%104=39 +fn_end=1176081, fn_end%104=49, fn_begin=1176075, fn_begin%104=43 +fn_end=1176086, fn_end%104=54, fn_begin=1176079, fn_begin%104=47 +fn_end=1176090, fn_end%104=58, fn_begin=1176084, fn_begin%104=52 +fn_end=1176094, fn_end%104=62, fn_begin=1176088, fn_begin%104=56 +fn_end=1176099, fn_end%104=67, fn_begin=1176092, fn_begin%104=60 +fn_end=1176103, fn_end%104=71, fn_begin=1176097, fn_begin%104=65 +fn_end=1176107, fn_end%104=75, fn_begin=1176101, fn_begin%104=69 +fn_end=1176112, fn_end%104=80, fn_begin=1176105, fn_begin%104=73 +fn_end=1176116, fn_end%104=84, fn_begin=1176110, fn_begin%104=78 +fn_end=1176120, fn_end%104=88, fn_begin=1176114, fn_begin%104=82 +fn_end=1176125, fn_end%104=93, fn_begin=1176118, fn_begin%104=86 +fn_end=1176129, fn_end%104=97, fn_begin=1176123, fn_begin%104=91 +fn_end=1176133, fn_end%104=101, fn_begin=1176127, fn_begin%104=95 + +TCH/H1 +fn_end=1175827, fn_end%104=3, fn_begin=1175820, fn_begin%104=100 +fn_end=1175831, fn_end%104=7, fn_begin=1175825, fn_begin%104=1 +fn_end=1175835, fn_end%104=11, fn_begin=1175829, fn_begin%104=5 +fn_end=1175840, fn_end%104=16, fn_begin=1175833, fn_begin%104=9 +fn_end=1175844, fn_end%104=20, fn_begin=1175838, fn_begin%104=14 +fn_end=1175848, fn_end%104=24, fn_begin=1175842, fn_begin%104=18 +fn_end=1175853, fn_end%104=29, fn_begin=1175846, fn_begin%104=22 +fn_end=1175857, fn_end%104=33, fn_begin=1175851, fn_begin%104=27 +fn_end=1175861, fn_end%104=37, fn_begin=1175855, fn_begin%104=31 +fn_end=1175866, fn_end%104=42, fn_begin=1175859, fn_begin%104=35 +fn_end=1175870, fn_end%104=46, fn_begin=1175864, fn_begin%104=40 +fn_end=1175874, fn_end%104=50, fn_begin=1175868, fn_begin%104=44 +fn_end=1175879, fn_end%104=55, fn_begin=1175872, fn_begin%104=48 +fn_end=1175883, fn_end%104=59, fn_begin=1175877, fn_begin%104=53 +fn_end=1175887, fn_end%104=63, fn_begin=1175881, fn_begin%104=57 +fn_end=1175892, fn_end%104=68, fn_begin=1175885, fn_begin%104=61 +fn_end=1175896, fn_end%104=72, fn_begin=1175890, fn_begin%104=66 +fn_end=1175900, fn_end%104=76, fn_begin=1175894, fn_begin%104=70 +fn_end=1175905, fn_end%104=81, fn_begin=1175898, fn_begin%104=74 +fn_end=1175909, fn_end%104=85, fn_begin=1175903, fn_begin%104=79 +fn_end=1175913, fn_end%104=89, fn_begin=1175907, fn_begin%104=83 +fn_end=1175918, fn_end%104=94, fn_begin=1175911, fn_begin%104=87 +fn_end=1175922, fn_end%104=98, fn_begin=1175916, fn_begin%104=92 +fn_end=1175926, fn_end%104=102, fn_begin=1175920, fn_begin%104=96 +fn_end=1175931, fn_end%104=3, fn_begin=1175924, fn_begin%104=100 +fn_end=1175935, fn_end%104=7, fn_begin=1175929, fn_begin%104=1 +fn_end=1175939, fn_end%104=11, fn_begin=1175933, fn_begin%104=5 +fn_end=1175944, fn_end%104=16, fn_begin=1175937, fn_begin%104=9 +fn_end=1175948, fn_end%104=20, fn_begin=1175942, fn_begin%104=14 +fn_end=1175952, fn_end%104=24, fn_begin=1175946, fn_begin%104=18 +fn_end=1175957, fn_end%104=29, fn_begin=1175950, fn_begin%104=22 +fn_end=1175961, fn_end%104=33, fn_begin=1175955, fn_begin%104=27 +fn_end=1175965, fn_end%104=37, fn_begin=1175959, fn_begin%104=31 +fn_end=1175970, fn_end%104=42, fn_begin=1175963, fn_begin%104=35 +fn_end=1175974, fn_end%104=46, fn_begin=1175968, fn_begin%104=40 +fn_end=1175978, fn_end%104=50, fn_begin=1175972, fn_begin%104=44 +fn_end=1175983, fn_end%104=55, fn_begin=1175976, fn_begin%104=48 +fn_end=1175987, fn_end%104=59, fn_begin=1175981, fn_begin%104=53 +fn_end=1175991, fn_end%104=63, fn_begin=1175985, fn_begin%104=57 +fn_end=1175996, fn_end%104=68, fn_begin=1175989, fn_begin%104=61 +fn_end=1176000, fn_end%104=72, fn_begin=1175994, fn_begin%104=66 +fn_end=1176004, fn_end%104=76, fn_begin=1175998, fn_begin%104=70 +fn_end=1176009, fn_end%104=81, fn_begin=1176002, fn_begin%104=74 +fn_end=1176013, fn_end%104=85, fn_begin=1176007, fn_begin%104=79 +fn_end=1176017, fn_end%104=89, fn_begin=1176011, fn_begin%104=83 +fn_end=1176022, fn_end%104=94, fn_begin=1176015, fn_begin%104=87 +fn_end=1176026, fn_end%104=98, fn_begin=1176020, fn_begin%104=92 +fn_end=1176030, fn_end%104=102, fn_begin=1176024, fn_begin%104=96 +fn_end=1176035, fn_end%104=3, fn_begin=1176028, fn_begin%104=100 +fn_end=1176039, fn_end%104=7, fn_begin=1176033, fn_begin%104=1 +fn_end=1176043, fn_end%104=11, fn_begin=1176037, fn_begin%104=5 +fn_end=1176048, fn_end%104=16, fn_begin=1176041, fn_begin%104=9 +fn_end=1176052, fn_end%104=20, fn_begin=1176046, fn_begin%104=14 +fn_end=1176056, fn_end%104=24, fn_begin=1176050, fn_begin%104=18 +fn_end=1176061, fn_end%104=29, fn_begin=1176054, fn_begin%104=22 +fn_end=1176065, fn_end%104=33, fn_begin=1176059, fn_begin%104=27 +fn_end=1176069, fn_end%104=37, fn_begin=1176063, fn_begin%104=31 +fn_end=1176074, fn_end%104=42, fn_begin=1176067, fn_begin%104=35 +fn_end=1176078, fn_end%104=46, fn_begin=1176072, fn_begin%104=40 +fn_end=1176082, fn_end%104=50, fn_begin=1176076, fn_begin%104=44 +fn_end=1176087, fn_end%104=55, fn_begin=1176080, fn_begin%104=48 +fn_end=1176091, fn_end%104=59, fn_begin=1176085, fn_begin%104=53 +fn_end=1176095, fn_end%104=63, fn_begin=1176089, fn_begin%104=57 +fn_end=1176100, fn_end%104=68, fn_begin=1176093, fn_begin%104=61 +fn_end=1176104, fn_end%104=72, fn_begin=1176098, fn_begin%104=66 +fn_end=1176108, fn_end%104=76, fn_begin=1176102, fn_begin%104=70 +fn_end=1176113, fn_end%104=81, fn_begin=1176106, fn_begin%104=74 +fn_end=1176117, fn_end%104=85, fn_begin=1176111, fn_begin%104=79 +fn_end=1176121, fn_end%104=89, fn_begin=1176115, fn_begin%104=83 +fn_end=1176126, fn_end%104=94, fn_begin=1176119, fn_begin%104=87 +fn_end=1176130, fn_end%104=98, fn_begin=1176124, fn_begin%104=92 +fn_end=1176134, fn_end%104=102, fn_begin=1176128, fn_begin%104=96 + +FACCH/F +fn_end=177275, fn_end%104=59, fn_begin=177268, fn_begin%104=52 +fn_end=177314, fn_end%104=98, fn_begin=177307, fn_begin%104=91 +fn_end=177336, fn_end%104=16, fn_begin=177328, fn_begin%104=8 +fn_end=177375, fn_end%104=55, fn_begin=177367, fn_begin%104=47 +fn_end=177396, fn_end%104=76, fn_begin=177389, fn_begin%104=69 +fn_end=177435, fn_end%104=11, fn_begin=177428, fn_begin%104=4 +fn_end=178328, fn_end%104=72, fn_begin=178321, fn_begin%104=65 +fn_end=178367, fn_end%104=7, fn_begin=178360, fn_begin%104=0 +fn_end=178393, fn_end%104=33, fn_begin=178386, fn_begin%104=26 +fn_end=180014, fn_end%104=94, fn_begin=180006, fn_begin%104=86 +fn_end=180053, fn_end%104=29, fn_begin=180045, fn_begin%104=21 +fn_end=180079, fn_end%104=55, fn_begin=180071, fn_begin%104=47 +fn_end=180113, fn_end%104=89, fn_begin=180106, fn_begin%104=82 +fn_end=180144, fn_end%104=16, fn_begin=180136, fn_begin%104=8 +fn_end=180183, fn_end%104=55, fn_begin=180175, fn_begin%104=47 + +FACCH/H0 +fn_end=499956, fn_end%104=28, fn_begin=499945, fn_begin%104=17 +fn_end=499999, fn_end%104=71, fn_begin=499988, fn_begin%104=60 +fn_end=500034, fn_end%104=2, fn_begin=500023, fn_begin%104=95 +fn_end=500077, fn_end%104=45, fn_begin=500066, fn_begin%104=34 +fn_end=500952, fn_end%104=88, fn_begin=500942, fn_begin%104=78 +fn_end=501836, fn_end%104=36, fn_begin=501826, fn_begin%104=26 +fn_end=501880, fn_end%104=80, fn_begin=501869, fn_begin%104=69 +fn_end=502850, fn_end%104=10, fn_begin=502840, fn_begin%104=0 +fn_end=502894, fn_end%104=54, fn_begin=502883, fn_begin%104=43 +fn_end=502937, fn_end%104=97, fn_begin=502926, fn_begin%104=86 +fn_end=503006, fn_end%104=62, fn_begin=502996, fn_begin%104=52 +fn_end=503050, fn_end%104=2, fn_begin=503039, fn_begin%104=95 + +FACCH/H1 +fn_end=500728, fn_end%104=72, fn_begin=500717, fn_begin%104=61 +fn_end=500771, fn_end%104=11, fn_begin=500761, fn_begin%104=1 +fn_end=500797, fn_end%104=37, fn_begin=500787, fn_begin%104=27 +fn_end=500841, fn_end%104=81, fn_begin=500830, fn_begin%104=70 +fn_end=500875, fn_end%104=11, fn_begin=500865, fn_begin%104=1 +fn_end=500919, fn_end%104=55, fn_begin=500908, fn_begin%104=44 +fn_end=501751, fn_end%104=55, fn_begin=501740, fn_begin%104=44 +fn_end=501794, fn_end%104=98, fn_begin=501783, fn_begin%104=87 +fn_end=501837, fn_end%104=37, fn_begin=501827, fn_begin%104=27 +fn_end=502782, fn_end%104=46, fn_begin=502771, fn_begin%104=35 +fn_end=502825, fn_end%104=89, fn_begin=502815, fn_begin%104=79 +fn_end=502869, fn_end%104=29, fn_begin=502858, fn_begin%104=18 +fn_end=502903, fn_end%104=63, fn_begin=502893, fn_begin%104=53 +fn_end=502955, fn_end%104=11, fn_begin=502945, fn_begin%104=1 +fn_end=502999, fn_end%104=55, fn_begin=502988, fn_begin%104=44 + diff --git a/tests/testsuite.at b/tests/testsuite.at index a043f0c..c231b96 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -126,6 +126,12 @@ AT_CHECK([$abs_top_builddir/tests/lapd/lapd_test], [0], [expout], [ignore]) AT_CLEANUP +AT_SETUP([gsm0502]) +AT_KEYWORDS([gsm0502]) +cat $abs_srcdir/gsm0502/gsm0502_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/gsm0502/gsm0502_test], [0], [expout], [ignore]) +AT_CLEANUP + AT_SETUP([gsm0808]) AT_KEYWORDS([gsm0808]) cat $abs_srcdir/gsm0808/gsm0808_test.ok > expout -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Gerrit-Change-Number: 15719 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Oct 28 19:44:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:44:33 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15757 ) Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Oct 2019 19: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 Mon Oct 28 19:45:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 28 Oct 2019 19:45:28 +0000 Subject: Change in osmo-msc[master]: also log MNCC_SETUP_REQ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15845 ) Change subject: also log MNCC_SETUP_REQ ...................................................................... Patch Set 1: Code-Review+1 Back to pespin -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 Gerrit-Change-Number: 15845 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 28 Oct 2019 19:45: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 Oct 28 21:45:47 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 28 Oct 2019 21:45:47 +0000 Subject: Change in osmo-dev[master]: ttcn3: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/15778 ) Change subject: ttcn3: run ttcn3 testsuites from osmo-dev ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 28 Oct 2019 21: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 Mon Oct 28 23:31:53 2019 From: gerrit-no-reply at lists.osmocom.org (vvvelichkov) Date: Mon, 28 Oct 2019 23:31:53 +0000 Subject: Change in libosmocore[master]: Add code coverage support In-Reply-To: References: Message-ID: Hello fixeria, Max, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/13496 to look at the new patch set (#7). Change subject: Add code coverage support ...................................................................... Add code coverage support The coverage report shows what code is covered by tests and what is not and the ratio could be tracked over time. These reports will allow us to identify code that is not being tested and improve the test suites. To enable the reports configure with --enable-code-coverage and execute "make check-code-coverage". The HTML report will be generated in a subdirectory with name libosmocore-$(PACKAGE_VERSION)-coverage/index.html The report is generated using gcov, lcov and lcov_cobertura tools and the OSMO_AC_CODE_COVERAGE macro. The osmo_ax_code_coverage.m4 is a copy of ax_code_coverage.m4 taken from autoconf-archive v2018.03.13. It was copied to avoid the additional external dependency and renamed to avoid overwriting it in case autoconf-archive is already installed as we are going to install it in $(datadir)/aclocal in order to be reused in other osmocom's projects. Closes: OS#1987 Change-Id: I6f4ffb91bd7f3dd070aa09dd16d5ad1faf130a4c --- M .gitignore M Makefile.am M configure.ac M debian/libosmocore-dev.install A m4/osmo_ac_code_coverage.m4 A m4/osmo_ax_code_coverage.m4 6 files changed, 330 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/96/13496/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f4ffb91bd7f3dd070aa09dd16d5ad1faf130a4c Gerrit-Change-Number: 13496 Gerrit-PatchSet: 7 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 29 00:07:38 2019 From: gerrit-no-reply at lists.osmocom.org (vvvelichkov) Date: Tue, 29 Oct 2019 00:07:38 +0000 Subject: Change in libosmocore[master]: Add code coverage support In-Reply-To: References: Message-ID: vvvelichkov has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13496 ) Change subject: Add code coverage support ...................................................................... Patch Set 7: > Patch Set 6: > > > Let me know if I have to modify some of the ansible playbooks. > > I am not sure if we should enable the coverage checks for every Jenkins build, maybe rather weekly or monthly. But still, you can find all playbooks / Dockerfiles at https://git.osmocom.org/osmo-ci/. OK, I reverted all changes in contrib/jenkins_amd64.sh so no coverage reports from the Jenkins builds. I've also removed m4/osmo_code_coverage.m4 as it was leftover after I renamed in to m4/osmo_ac_code_coverage.m4 To add coverage reports to another osmocom project you need to add OSMO_AC_CODE_COVERAGE in configure.ac and @CODE_COVERAGE_RULES@ in the toplevel Makefile.am. In case you've installed libosmocore in a custom prefix (not in /usr/local/) you may need to call autoreconf with "-I /share/aclocal/", add this path to ACLOCAL_PATH or add it in acdir/dirlist. See https://www.gnu.org/software/automake/manual/html_node/Macro-Search-Path.html -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f4ffb91bd7f3dd070aa09dd16d5ad1faf130a4c Gerrit-Change-Number: 13496 Gerrit-PatchSet: 7 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Tue, 29 Oct 2019 00:07:38 +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 Tue Oct 29 06:52:27 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Tue, 29 Oct 2019 06:52:27 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#552?= In-Reply-To: <941593303.660.1572245607233.JavaMail.jenkins@jenkins.osmocom.org> References: <941593303.660.1572245607233.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <586615280.754.1572331947557.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.59 KB...] 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE Not sending mail to unregistered user jsteiger at sysmocom.de From gerrit-no-reply at lists.osmocom.org Tue Oct 29 07:24:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 07:24:40 +0000 Subject: Change in osmo-dev[master]: ttcn3: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/15778 ) Change subject: ttcn3: run ttcn3 testsuites from osmo-dev ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 29 Oct 2019 07:24: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 Oct 29 07:24:45 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 07:24:45 +0000 Subject: Change in osmo-dev[master]: ttcn3: run ttcn3 testsuites from osmo-dev In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/15778 ) Change subject: ttcn3: run ttcn3 testsuites from osmo-dev ...................................................................... ttcn3: run ttcn3 testsuites from osmo-dev Build testsuite, SUT and dependencies and run everything with one command. Example usage: $ ./ttcn3/ttcn3.sh msc So far, it works at least with: hlr, mgw, msc, pcu, pcu-sns, sgsn Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 --- M .gitignore M README A ttcn3/ttcn3.opts A ttcn3/ttcn3.sh A ttcn3/wrappers/fake_trx.sh A ttcn3/wrappers/osmo-bts-trx-respawn.sh A ttcn3/wrappers/osmo-pcu-respawn.sh 7 files changed, 428 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved osmith: Verified diff --git a/.gitignore b/.gitignore index 1cfde3d..6326775 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ !net/config_2g3g !net/README !net/fill_config.py +ttcn3/3G+2G_ttcn3.deps +ttcn3/out/ +ttcn3/make/ diff --git a/README b/README index 9533d89..055f651 100644 --- a/README +++ b/README @@ -132,6 +132,26 @@ Find other useful scripts in src/, see src/README. +=== ttcn3/ttcn3.sh + +Clone and build all dependencies, then run a given TTCN-3 testsuite and all +required components. This is intended to make test-cycles as short as possible, +without any manual configuration effort and without the need to rebuild the +entire testsuite, SUT (subject under test, e.g. osmo-mgw) and dependencies from +scratch for each code change. Instead, ttcn3.sh will make use of osmo-dev's +generated global makefile and only build what actually changed. + +Example usage: + + ./ttcn3/ttcn3.sh mgw + +Note that not all testsuites are supported at this point, see the output of +ttcn3.sh without any argument for more information. + +More about the testsuites: +https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites + + === Troubleshooting When using sanitize.opts, osmo-trx is not built with the address sanitizer diff --git a/ttcn3/ttcn3.opts b/ttcn3/ttcn3.opts new file mode 100644 index 0000000..8acec2d --- /dev/null +++ b/ttcn3/ttcn3.opts @@ -0,0 +1 @@ +osmo-bts --enable-trx diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh new file mode 100755 index 0000000..4cb4344 --- /dev/null +++ b/ttcn3/ttcn3.sh @@ -0,0 +1,369 @@ +#!/bin/sh -e +PROJECT="$1" +PROJECT_UPPER="$(echo "$PROJECT" | tr '[:lower:]' '[:upper:]')" +DIR_OSMODEV="$(readlink -f "$(dirname $0)/..")" +DIR_MAKE="${DIR_MAKE:-${DIR_OSMODEV}/ttcn3/make}" +DIR_OUTPUT="${DIR_OUTPUT:-${DIR_OSMODEV}/ttcn3/out}" +JOBS="${JOBS:-9}" + +check_usage() { + if [ -z "$PROJECT" ]; then + echo "usage: $(basename $0) PROJECT" + echo "example: $(basename $0) hlr" + echo "known working projects: hlr, mgw, msc, pcu, pcu-sns, sgsn" + echo "wip: bts, bts-oml" + echo "" + echo "notes (see docker-playground.git/ttcn3-*/jenkins.sh):" + echo "- bts: classic test suite with BSC for OML and trxcon+fake_trx" + echo "- bts-oml: OML tests (without BSC)" + exit 1 + fi +} + +# Returns the name of the testsuite binary +get_testsuite_name() { + case "$PROJECT" in + bts-*) echo "BTS_Tests" ;; + mgw) echo "MGCP_Test" ;; + pcu-sns) echo "PCU_Tests" ;; + *) echo "${PROJECT_UPPER}_Tests" ;; + esac +} + +get_testsuite_dir() { + local hacks="${DIR_OSMODEV}/src/osmo-ttcn3-hacks" + + case "$PROJECT" in + bts-*) echo "$hacks/bts" ;; + pcu-sns) echo "$hacks/pcu" ;; + *) echo "$hacks/$PROJECT" ;; + esac +} + +get_testsuite_config() { + case "$PROJECT" in + bts-gprs) echo "BTS_Tests_GPRS.cfg" ;; + bts-oml) echo "BTS_Tests_OML.cfg" ;; + pcu-sns) echo "PCU_Tests_SNS.cfg" ;; + *) echo "$(get_testsuite_name).cfg" ;; + esac +} + +# Programs that need to be built, launched and killed. To add programs to only one of the steps, modify the appropriate +# function below (build_osmo_programs, run_osmo_programs, kill_osmo_programs). +get_programs() { + case "$PROJECT" in + bsc) echo "osmo-stp osmo-bsc osmo-bts-omldummy" ;; + bts) echo "osmo-bsc osmo-bts-trx fake_trx.py trxcon" ;; + msc) echo "osmo-stp osmo-msc" ;; + pcu-sns) echo "osmo-pcu" ;; + pcu) echo "osmo-pcu osmo-bsc osmo-bts-virtual virtphy" ;; + sgsn) echo "osmo-stp osmo-sgsn" ;; + *) echo "osmo-$PROJECT" ;; + esac +} + +# $1: program name +get_program_config() { + case "$1" in + fake_trx.py) ;; # no config + osmo-bts-*) echo "osmo-bts.cfg" ;; + osmo-pcu) + if [ "$PROJECT" = "pcu-sns" ]; then + echo "osmo-pcu-sns.cfg" + else + echo "osmo-pcu.cfg" + fi + ;; + trxcon) ;; # no config + virtphy) ;; # no config + *) echo "$1.cfg" ;; + esac +} + +# Return the git repository name, which has the source for a specific program. +# $1: program name +get_program_repo() { + case "$1" in + fake_trx.py) echo "osmocom-bb" ;; + osmo-bts-*) echo "osmo-bts" ;; + osmo-stp) echo "libosmo-sccp" ;; + trxcon) echo "osmocom-bb" ;; + virtphy) echo "osmocom-bb" ;; + *) echo "$1" ;; + esac +} + +check_ttcn3_install() { + if ! command -v ttcn3_compiler > /dev/null; then + echo "ERROR: ttcn3_compiler is not installed." + echo "Install eclipse-titan from the Osmocom latest repository." + echo "Details: https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites" + exit 1 + fi +} + +kill_osmo_programs() { + programs="$(get_programs)" + + # Kill wrappers first + for program in $programs; do + case "$program" in + osmo-pcu) killall osmo-pcu-respawn.sh || true ;; + osmo-bts-trx) killall osmo-bts-trx-respawn.sh || true ;; + fake_trx.py) killall fake_trx.sh || true ;; + esac + done + + killall $programs || true +} + +setup_dir_make() { + cd "$DIR_OSMODEV" + + ( echo "# Generated by ttcn3.sh, do not edit" + cat ./3G+2G.deps + echo + echo "osmo-bts libosmocore libosmo-abis" + echo "osmo-pcu libosmocore" + # just clone these, building is handled by ttcn3.sh + echo "osmo-ttcn3-hacks" + echo "osmocom-bb") > ttcn3/3G+2G_ttcn3.deps + + ./gen_makefile.py ttcn3/3G+2G_ttcn3.deps default.opts iu.opts no_systemd.opts ttcn3/ttcn3.opts -I -m "$DIR_MAKE" +} + +# $1: name of repository (e.g. osmo-ttcn3-hacks) +clone_repo() { + make -C "$DIR_MAKE" ".make.${1}.clone" +} + +# Require testsuite dir, with testsuite and all program configs +check_dir_testsuite() { + local program + local config_testsuite + local dir_testsuite="$(get_testsuite_dir)" + + if ! [ -d "$dir_testsuite" ]; then + echo "ERROR: project '$PROJECT' is invalid, resulting path not found: $dir_testsuite" + exit 1 + fi + + for program in $(get_programs); do + local config="$(get_program_config "$program")" + if [ -z "$config" ]; then + continue + fi + config="$dir_testsuite/$config" + if ! [ -e "$config" ]; then + echo "ERROR: config not found: $config" + echo "Copy it from docker-playground.git, and change IPs to 127.0.0.*." + echo "Make sure that everything works, then submit a patch with the config." + echo "If $program's config has a different name or is not needed at all, edit" + echo "get_program_config() in ttcn3.sh." + exit 1 + fi + done + + config_testsuite="$dir_testsuite/$(get_testsuite_config)" + if ! [ -e "$config_testsuite" ]; then + echo "ERROR: testsuite config not found: $config_testsuite" + echo "Copy it from docker-playground.git, change the paths to be relative and submit it as patch." + echo "If $program's testsuite has a different name, edit get_testsuite_name() in ttcn3.sh." + exit 1 + fi +} + +# Build a program that is in the subdir of a repository (e.g. trxcon in osmocom-bb.git). +# $1: repository +# $2: path in the repository +build_osmo_program_subdir() { + clone_repo "$1" + cd "$DIR_OSMODEV/src/$1/$2" + if ! [ -e "./configure" ] && [ -e "configure.ac" ]; then + autoreconf -fi + fi + if ! [ -e "Makefile" ] && [ -e "Makefile.am" ]; then + ./configure + fi + make -j"$JOBS" +} + +# Use osmo-dev to build a typical Osmocom program, and run a few sanity checks. +# $1 program +build_osmo_program_osmodev() { + local repo="$(get_program_repo "$program")" + make -C "$DIR_MAKE" "$repo" + + local path="$(command -v "$program")" + if [ -z "$path" ]; then + echo "ERROR: program was not installed to PATH: $program" + echo "Maybe you need to add /usr/local/bin to PATH?" + exit 1 + fi + + local pathdir="$(dirname "$path")" + local reference="$DIR_MAKE/.make.$repo.build" + if [ -z "$(find "$pathdir" -name "$program" -newer "$reference")" ]; then + echo "ERROR: $path is outdated!" + echo "Maybe you need to pass a configure argument to $repo.git, so it builds and installs $program?" + echo "Or the order in PATH is wrong?" + exit 1 + fi +} + +# Use osmo-dev to build one Osmocom program and its dependencies +build_osmo_programs() { + local program + for program in $(get_programs); do + case "$program" in + fake_trx.py) clone_repo "osmocom-bb" ;; + trxcon) build_osmo_program_subdir "osmocom-bb" "src/host/trxcon" ;; + virtphy) build_osmo_program_subdir "osmocom-bb" "src/host/virt_phy" ;; + *) build_osmo_program_osmodev "$program" ;; + esac + done +} + +build_testsuite() { + cd "$(get_testsuite_dir)" + ./gen_links.sh + ./regen_makefile.sh + make compile + make -j"$JOBS" +} + +remove_old_logs() { + cd "$(get_testsuite_dir)" + rm *.log *.merged 2> /dev/null || true +} + +prepare_dir_output() { + local program + local dir_testsuite="$(get_testsuite_dir)" + + rm -r "$DIR_OUTPUT"/* 2> /dev/null || true + mkdir -p "$DIR_OUTPUT" + + for program in $(get_programs); do + local config="$(get_program_config "$program")" + if [ -n "$config" ]; then + cp "$dir_testsuite/$config" "$DIR_OUTPUT" + fi + done +} + +# $1: log name +# $2: command to run +run_osmo_program() { + local pid + local log="$1" + shift + + echo "Starting ($log): $@" + "$@" > "$log" 2>&1 & + pid="$!" + + sleep 0.5 + if ! kill -0 "$pid" 2> /dev/null; then + echo "ERROR: failed to start: $@" + cat "$log" + exit 1 + fi +} + +run_osmo_programs() { + local program + local osmocom_bb="$DIR_OSMODEV/src/osmocom-bb" + local wrappers="$DIR_OSMODEV/ttcn3/wrappers" + + cd "$DIR_OUTPUT" + for program in $(get_programs); do + case "$program" in + fake_trx.py) + run_osmo_program "fake_trx.log" \ + "$wrappers/fake_trx.sh" \ + --log-level DEBUG \ + -b 127.0.0.21 \ + -R 127.0.0.20 \ + -r 127.0.0.22 + ;; + osmo-bts-omldummy) + for i in $(seq 0 2); do + run_osmo_program "osmo-bts-$i.log" osmo-bts-omldummy 127.0.0.1 $((i + 1234)) 1 + done + ;; + osmo-bts-trx) + run_osmo_program "$program.log" \ + "$wrappers/osmo-bts-trx-respawn.sh" -i 127.0.0.10 + ;; + osmo-pcu) + run_osmo_program "$program.log" "$wrappers/osmo-pcu-respawn.sh" \ + -c "$(get_program_config osmo-pcu)" + ;; + trxcon) + run_osmo_program "$program.log" \ + "$osmocom_bb/src/host/trxcon/trxcon" \ + trxcon -i 127.0.0.21 \ + -s /tmp/osmocom_l2 + ;; + virtphy) + run_osmo_program "$program.log" "$osmocom_bb/src/host/virt_phy/src/virtphy" \ + -s /tmp/osmocom_l2 + ;; + *) + run_osmo_program "$program.log" "$program" + ;; + esac + done +} + +run_testsuite() { + local testsuite="$(get_testsuite_name)" + local cfg="$(get_testsuite_config)" + + cd "$(get_testsuite_dir)" + ../start-testsuite.sh "$testsuite" "$cfg" 2>&1 | tee "$DIR_OUTPUT/ttcn3_stdout.log" +} + +collect_logs() { + # Merge and move logs + cd "$(get_testsuite_dir)" + ../log_merge.sh $(get_testsuite_name) --rm + if ! mv *.merged "$DIR_OUTPUT"; then + echo "---" + echo "ERROR: no logs generated! Invalid test names in $(get_testsuite_config)?" + echo "---" + exit 1 + fi + + # Format logs + cd "$DIR_OUTPUT" + for log in *.merged; do + ttcn3_logformat -o "${log}.log" "$log" + rm "$log" + done + + # Print log path + echo "---" + echo "Logs: $DIR_OUTPUT" + echo "---" +} + +# Tell glibc to print segfault output to stderr (OS#4212) +export LIBC_FATAL_STDERR_=1 + +check_usage +kill_osmo_programs +check_ttcn3_install +setup_dir_make +clone_repo "osmo-ttcn3-hacks" +check_dir_testsuite +build_osmo_programs +build_testsuite +remove_old_logs +prepare_dir_output +run_osmo_programs +run_testsuite +kill_osmo_programs +collect_logs diff --git a/ttcn3/wrappers/fake_trx.sh b/ttcn3/wrappers/fake_trx.sh new file mode 100755 index 0000000..1d39573 --- /dev/null +++ b/ttcn3/wrappers/fake_trx.sh @@ -0,0 +1,23 @@ +#!/bin/sh -x +# Run in a separate script, so we can kill it with "killall" + +DIR="$(readlink -f "$(dirname $0)")" +cd "$DIR" +PID="" + +cleanup() { + echo "Caught signal, cleaning up..." + set -x + kill "$PID" + exit 1 +} + +trap cleanup "TERM" + +./osmocom-bb/src/target/trx_toolkit/fake_trx.py "$@" & +PID="$!" + +set +x +while true; do + sleep 0.1 +done diff --git a/ttcn3/wrappers/osmo-bts-trx-respawn.sh b/ttcn3/wrappers/osmo-bts-trx-respawn.sh new file mode 100755 index 0000000..475f807 --- /dev/null +++ b/ttcn3/wrappers/osmo-bts-trx-respawn.sh @@ -0,0 +1,6 @@ +#!/bin/sh -x +# Automatically restart osmo-bts-trx while running TTCN3 tests. See docker-playground.git. + +while true; do + osmo-bts-trx "$@" +done diff --git a/ttcn3/wrappers/osmo-pcu-respawn.sh b/ttcn3/wrappers/osmo-pcu-respawn.sh new file mode 100755 index 0000000..3ff7213 --- /dev/null +++ b/ttcn3/wrappers/osmo-pcu-respawn.sh @@ -0,0 +1,6 @@ +#!/bin/sh -x +# Automatically restart osmo-pcu while running TTCN3 tests. See docker-playground.git's osmo-pcu-master/respawn.sh. + +while true; do + osmo-pcu "$@" +done -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/15778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49 Gerrit-Change-Number: 15778 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 29 07:32:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 07:32:21 +0000 Subject: Change in libosmo-sccp[master]: M3UA: Reject ASP activation + RKM registration for incompatible traff... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 ) Change subject: M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode ...................................................................... M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode If the AS is e.g. configured as broadcast, then individual ASPs cannot be activated in loadshare or override. Everyone must agree. Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/xua_asp_fsm.c M src/xua_rkm.c 4 files changed, 44 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/85/15885/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 1b5fc31..11eac81 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -525,6 +525,7 @@ enum osmo_ss7_as_traffic_mode osmo_ss7_tmode_from_xua(uint32_t in); int osmo_ss7_tmode_to_xua(enum osmo_ss7_as_traffic_mode tmod); +bool osmo_ss7_tmode_compatible_xua(enum osmo_ss7_as_traffic_mode tmt, uint32_t m3ua_tmt); /* VTY related */ struct vty; diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index efbceb8..0c1d2c5 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -2059,6 +2059,28 @@ } } +bool osmo_ss7_tmode_compatible_xua(enum osmo_ss7_as_traffic_mode tmt, uint32_t m3ua_tmt) +{ + switch (m3ua_tmt) { + case M3UA_TMOD_OVERRIDE: + if (tmt == OSMO_SS7_AS_TMOD_OVERRIDE) + return true; + break; + case M3UA_TMOD_LOADSHARE: + if (tmt == OSMO_SS7_AS_TMOD_LOADSHARE || + tmt == OSMO_SS7_AS_TMOD_ROUNDROBIN) + return true; + break; + case M3UA_TMOD_BCAST: + if (tmt == OSMO_SS7_AS_TMOD_BCAST) + return true; + break; + default: + break; + } + return false; +} + static osmo_ss7_asp_rx_unknown_cb *g_osmo_ss7_asp_rx_unknown_cb; int ss7_asp_rx_unknown(struct osmo_ss7_asp *asp, int ppid_mux, struct msgb *msg) diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 890a6b5..011156a 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -416,9 +416,8 @@ struct xua_asp_fsm_priv *xafp = fi->priv; struct osmo_ss7_asp *asp = xafp->asp; struct xua_msg *xua_in; - uint32_t traf_mode; + uint32_t traf_mode = 0; struct xua_msg_part *part; - uint32_t rctx; int i; check_stop_t_ack(fi, event); @@ -462,11 +461,20 @@ } if ((part = xua_msg_find_tag(xua_in, M3UA_IEI_ROUTE_CTX))) { for (i = 0; i < part->len / sizeof(uint32_t); i++) { - rctx = osmo_load32be(&part->dat[i * sizeof(uint32_t)]); - if (!osmo_ss7_as_find_by_rctx(asp->inst, rctx)) { + uint32_t rctx = osmo_load32be(&part->dat[i * sizeof(uint32_t)]); + struct osmo_ss7_as *as = osmo_ss7_as_find_by_rctx(asp->inst, rctx); + if (!as) { peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX); break; } + if (traf_mode) { /* if the peer has specified a traffic mode at all */ + /* Check if given AS(s) are configured for the respective + * traffic mode type; send ERROR if not */ + if (!osmo_ss7_tmode_compatible_xua(as->cfg.mode, traf_mode)) { + peer_send_error(fi, M3UA_ERR_UNSUPP_TRAF_MOD_TYP); + break; + } + } } } /* send ACK */ diff --git a/src/xua_rkm.c b/src/xua_rkm.c index b3c785f..208f8ae 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -219,6 +219,15 @@ } if (!as->cfg.mode_set_by_vty && _tmode) as->cfg.mode = osmo_ss7_tmode_from_xua(_tmode); + else if (_tmode) { + /* verify if existing AS has same traffic-mode as new request (if any) */ + if (!osmo_ss7_tmode_compatible_xua(as->cfg.mode, _tmode)) { + LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: Non-matching Traffic Mode %u\n", + _tmode); + msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_UNSUPP_TRAF_MODE, 0); + return -1; + } + } } else if (asp->inst->cfg.permit_dyn_rkm_alloc) { /* Create an AS for this routing key */ snprintf(namebuf, sizeof(namebuf), "as-rkm-%u", rctx); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c Gerrit-Change-Number: 15885 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 Tue Oct 29 08:25:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 08:25:51 +0000 Subject: Change in libosmo-sccp[master]: M3UA: Reject ASP activation + RKM registration for incompatible traff... 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-sccp/+/15885 to look at the new patch set (#2). Change subject: M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode ...................................................................... M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode If the AS is e.g. configured as broadcast, then individual ASPs cannot be activated in loadshare or override. Everyone must agree. Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/xua_asp_fsm.c M src/xua_rkm.c 4 files changed, 44 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/85/15885/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c Gerrit-Change-Number: 15885 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 Tue Oct 29 09:09:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 09:09:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15883 ) Change subject: bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT ...................................................................... bsc: Verify ms power level value from RSL IE MS Power during CHAN ACT Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e --- M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Types.ttcn 2 files changed, 17 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 40701d6..8091d8d 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -526,6 +526,7 @@ TestHdlrEncrParams encr optional, TestHdlrParamsLcls lcls, TestHdlrParamsHandover handover optional, + uint5_t exp_ms_power_level, boolean aoip, boolean use_osmux }; @@ -551,6 +552,7 @@ adjust_cx_exp := true }, handover := omit, + exp_ms_power_level := 7, /* calculated from osmo-bsc.cfg "ms max power" */ aoip := true, use_osmux := false } @@ -739,6 +741,7 @@ private function f_check_chan_act(AssignmentState st, RSL_Message chan_act) runs on MSC_ConnHdlr { var RSL_IE_Body encr_info; var RSL_IE_Body ms_power_param; + var RSL_IE_Body ms_power; if (ispresent(g_pars.encr) and g_pars.encr.enc_alg != '01'O) { if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { @@ -763,6 +766,14 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "IE MS Power Parameters not found in CHAN ACT"); } + if (not f_rsl_find_ie(chan_act, RSL_IE_MS_POWER, ms_power)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "IE MS Power not found in CHAN ACT"); + } else { + if (not match(ms_power.ms_power, tr_RSL_IE_MS_Power(g_pars.exp_ms_power_level, false))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Wrong MS Power IE in CHAN ACT"); + } + } + } altstep as_assignment(inout AssignmentState st) runs on MSC_ConnHdlr { diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index db0e231..d982e02 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -454,6 +454,12 @@ boolean fpc_epc, uint5_t power_level } + template RSL_IE_MS_Power tr_RSL_IE_MS_Power(template uint5_t power_level := ?, + template boolean fpc_epc := false) := { + reserved := 0, + fpc_epc := fpc_epc, + power_level := power_level + } template (value) RSL_IE_MS_Power ts_RSL_IE_MS_Power(uint5_t power_level, boolean fpc_epc := false) := { reserved := 0, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e Gerrit-Change-Number: 15883 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 Oct 29 09:09:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 09:09:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881 ) Change subject: bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT ...................................................................... bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT Depends: osmo-bsc.git Icaaa61b363b093f00b6653c3df64d3e66583b9f8 Related: OS#1622 Change-Id: I2ecf03bbab169f9fda4e4a61d233d6a30b2a91b9 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 57706c9..40701d6 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -738,6 +738,8 @@ /* ensure the RSL CHAN ACT (during assignment) contains values we expect depending on test case */ private function f_check_chan_act(AssignmentState st, RSL_Message chan_act) runs on MSC_ConnHdlr { var RSL_IE_Body encr_info; + var RSL_IE_Body ms_power_param; + if (ispresent(g_pars.encr) and g_pars.encr.enc_alg != '01'O) { if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in CHAN ACT"); @@ -756,6 +758,11 @@ } /* FIXME: validate RSL_IE_ACT_TYPE, RSL_IE_CHAN_MODE, RSL_IE_CHAN_IDENT, RSL_IE_BS_POWER, * RSL_IE_MS_POWER, RSL_IE_TIMING_ADVANCE */ + + if (not f_rsl_find_ie(chan_act, RSL_IE_MS_POWER_PARAM, ms_power_param)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "IE MS Power Parameters not found in CHAN ACT"); + } + } altstep as_assignment(inout AssignmentState st) runs on MSC_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ecf03bbab169f9fda4e4a61d233d6a30b2a91b9 Gerrit-Change-Number: 15881 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 Oct 29 09:10:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 09:10:08 +0000 Subject: Change in docker-playground[master]: Introduce ttcn3-stp-test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15872 ) Change subject: Introduce ttcn3-stp-test ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I635c891f5da7b8c59527abbad14d7377465d1045 Gerrit-Change-Number: 15872 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 09:10: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 Oct 29 09:10:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 09:10:22 +0000 Subject: Change in docker-playground[master]: Introduce ttcn3-stp-test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15872 ) Change subject: Introduce ttcn3-stp-test ...................................................................... Introduce ttcn3-stp-test Currently builds from osmo-ttcn3-hacks.git branch laforge/stp instead of master, since it's only available in the former branch. Once it gets merged, we can modify Dockerfile as explained in it. OS#4220 Change-Id: I635c891f5da7b8c59527abbad14d7377465d1045 --- A ttcn3-stp-test/Dockerfile A ttcn3-stp-test/Makefile A ttcn3-stp-test/STP_Tests.cfg A ttcn3-stp-test/jenkins.sh A ttcn3-stp-test/osmo-stp.cfg 5 files changed, 164 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-stp-test/Dockerfile b/ttcn3-stp-test/Dockerfile new file mode 100644 index 0000000..7e671b3 --- /dev/null +++ b/ttcn3-stp-test/Dockerfile @@ -0,0 +1,40 @@ +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 + +# FIXME: Once M3UA dep update patches in laforge/stp is merged into master, the +# line checking it out can be removed. +RUN cd osmo-ttcn3-hacks && \ + git checkout -f -B master origin/master && \ + git fetch && git checkout -f -B laforge/stp origin/laforge/stp && \ + make deps + +RUN git config --global user.email docker at dock.er && \ + git config --global user.name "Dock Er" + +# FIXME: Once STP patches in laforge/stp are merged into master, then +# OSMO_TTCN3_BRANCH can be set again to "master". +ARG OSMO_TTCN3_BRANCH="laforge/stp" + +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 stp + +VOLUME /data + +RUN ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-start.sh / && \ + ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-stop.sh / + +COPY STP_Tests.cfg /data/STP_Tests.cfg + +CMD cd /data && \ + /osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/stp/STP_Tests; \ + exit_code=$?; \ + /osmo-ttcn3-hacks/log_merge.sh STP_Tests --rm; \ + exit $exit_code diff --git a/ttcn3-stp-test/Makefile b/ttcn3-stp-test/Makefile new file mode 100644 index 0000000..cbcd544 --- /dev/null +++ b/ttcn3-stp-test/Makefile @@ -0,0 +1,3 @@ +RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.2.202 -v ggsn-test-vol:/data + +include ../make/Makefile diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg new file mode 100644 index 0000000..f41aded --- /dev/null +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -0,0 +1,20 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/stp/STP_Tests.default" + +[LOGGING] +*.JUnitLogger.testsuite_name := "STP_Tests" + +[TESTPORT_PARAMETERS] +*.VTY.CTRL_HOSTNAME := "172.18.19.200" + +[MODULE_PARAMETERS] +STP_Tests_Common.mp_stp_ip := "172.18.19.200"; +STP_Tests_Common.mp_local_ip := "172.18.19.203"; + + + +[MAIN_CONTROLLER] + +[EXECUTE] +STP_Tests.control diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh new file mode 100755 index 0000000..7bb0337 --- /dev/null +++ b/ttcn3-stp-test/jenkins.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-stretch-build" \ + "osmo-stp-$IMAGE_SUFFIX" \ + "debian-stretch-titan" \ + "ttcn3-stp-test" + +mkdir $VOL_BASE_DIR/stp-tester +cp STP_Tests.cfg $VOL_BASE_DIR/stp-tester/ + +mkdir $VOL_BASE_DIR/stp +cp osmo-stp.cfg $VOL_BASE_DIR/stp/ + +network_create 172.18.19.0/24 + +echo Starting container with STP +docker run --rm \ + --network $NET_NAME --ip 172.18.19.200 \ + -v $VOL_BASE_DIR/stp:/data \ + --name ${BUILD_TAG}-stp -d \ + $REPO_USER/osmo-stp-$IMAGE_SUFFIX + +echo Starting container with STP testsuite +docker run --rm \ + --network $NET_NAME --ip 172.18.19.203 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/stp-tester:/data \ + --name ${BUILD_TAG}-ttcn3-stp-test \ + $REPO_USER/ttcn3-stp-test + +docker container kill ${BUILD_TAG}-stp + +network_remove +collect_logs diff --git a/ttcn3-stp-test/osmo-stp.cfg b/ttcn3-stp-test/osmo-stp.cfg new file mode 100644 index 0000000..e16cd8b --- /dev/null +++ b/ttcn3-stp-test/osmo-stp.cfg @@ -0,0 +1,64 @@ +! +! OsmoSTP (1.1.0.2-3884) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category-hex 1 + logging print category 1 + logging timestamp 0 + logging print file 1 + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + 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 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp notice + logging level ljibuf notice + logging level lrspro notice +! +stats interval 5 +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + point-code format 24 + asp asp-sender 9999 2905 m3ua + local-ip 172.18.19.200 + remote-ip 172.18.19.203 + asp asp-receiver0 10000 2905 m3ua + local-ip 172.18.19.200 + remote-ip 172.18.19.203 + asp asp-receiver1 10001 2905 m3ua + local-ip 172.18.19.200 + remote-ip 172.18.19.203 + as as-sender m3ua + asp asp-sender + routing-key 1023 23 + as as-receiver m3ua + asp asp-receiver0 + routing-key 1042 42 + as mahlzeit ipa + routing-key 0 5 + point-code override dpc 23 + route-table system + update route 23 16777215 linkset as-sender + update route 42 16777215 linkset as-receiver + listen m3ua 2905 + accept-asp-connections dynamic-permitted + listen ipa 5000 + accept-asp-connections dynamic-permitted -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I635c891f5da7b8c59527abbad14d7377465d1045 Gerrit-Change-Number: 15872 Gerrit-PatchSet: 1 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 Tue Oct 29 09:13:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 09:13:27 +0000 Subject: Change in osmo-ci[master]: jobs: Introduce ttcn3-stp-test(-latest) jenkins job In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15873 ) Change subject: jobs: Introduce ttcn3-stp-test(-latest) jenkins job ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 Gerrit-Change-Number: 15873 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 09:13: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 Tue Oct 29 09:13:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 09:13:30 +0000 Subject: Change in osmo-ci[master]: jobs: Introduce ttcn3-stp-test(-latest) jenkins job In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15873 ) Change subject: jobs: Introduce ttcn3-stp-test(-latest) jenkins job ...................................................................... jobs: Introduce ttcn3-stp-test(-latest) jenkins job Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 3d1731a..7bd72db 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -41,6 +41,8 @@ timer: 30 08 * * * - ttcn3-remsim-test: timer: 00 09 * * * + - ttcn3-stp-test: + timer: 30 09 * * * # latest stable - nplab-m3ua-test-latest: @@ -73,6 +75,8 @@ blocking: "^ttcn3-bscnat-test.*" - ttcn3-remsim-test-latest: blocking: "^ttcn3-remsim-test.*" + - ttcn3-stp-test-latest: + blocking: "^ttcn3-stp-test.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47 Gerrit-Change-Number: 15873 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 Tue Oct 29 10:16:56 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Oct 2019 10:16:56 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: use gsm0502_fn_remap() to calculate frame number In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15757 ) Change subject: scheduler_trx: use gsm0502_fn_remap() to calculate frame number ...................................................................... scheduler_trx: use gsm0502_fn_remap() to calculate frame number When sched_compose_tch_ind, sched_compose_ph_data_ind or l1if_process_meas_res is called from rx_tchf_fn or rx_tchh_fn the frame number of the beginning of the block is required. At the moment this frame number is calculated wrongly using strange formulas. Lets use gsm0502_fn_remap() to calculate the beginning of the block properly Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Depends: libosmocore I3d71c66f8c401f5afbad9b1c86c24580dab9e0ce Related: OS#3803 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 35 insertions(+), 26 deletions(-) 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-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index d63987b..88e4f3a 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -46,6 +46,7 @@ #include #include #include +#include #include "l1_if.h" #include "trx_if.h" @@ -1142,6 +1143,7 @@ bool bfi_flag = false; struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); + unsigned int fn_begin; /* handle rach, if handover rach detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1225,12 +1227,6 @@ } memcpy(*bursts_p, *bursts_p + 464, 464); - /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, - bi->rssi, bi->toa256); - /* Check if the frame is bad */ if (rc < 0) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, @@ -1253,9 +1249,12 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, bi->tn, - /* FIXME: this calculation is wrong */ - (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); + l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, + bi->rssi, bi->toa256); + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, /* FIXME: AVG RSSI and ToA256 */ bi->rssi, bi->toa256, @@ -1314,10 +1313,13 @@ /* TCH or BFI */ compose_l1sap: - return _sched_compose_tch_ind(l1t, bi->tn, - /* FIXME: this calculation is wrong */ - (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, - tch_data, rc); + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); + l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, + bi->rssi, bi->toa256); + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, + tch_data, rc); } /*! \brief a single TCH/H burst was received by the PHY, process it */ @@ -1342,6 +1344,7 @@ * Even FN ending at: 10,11,19,20,2,3 */ int fn_is_odd = (((bi->fn + 26 - 10) % 26) >> 2) & 1; + unsigned int fn_begin; /* handle RACH, if handover RACH detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1436,12 +1439,6 @@ memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); - /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, - *first_fn /* FIXME: this is wrong */, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, bi->rssi, bi->toa256); - /* Check if the frame is bad */ if (rc < 0) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, @@ -1465,9 +1462,15 @@ if (rc == GSM_MACBLOCK_LEN) { chan_state->ul_ongoing_facch = 1; uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, bi->tn, - /* FIXME: what the hell is this?!? */ - (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn % 26) >= 19)) % GSM_HYPERFRAME, chan, + if (lchan->nr == 0) + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0); + else + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); + l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, bi->rssi, + bi->toa256); + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, /* FIXME: AVG both RSSI and ToA */ bi->rssi, bi->toa256, @@ -1528,10 +1531,16 @@ * with the slot 12, so an extra FN must be subtracted to get correct * start of frame. */ - return _sched_compose_tch_ind(l1t, bi->tn, - /* FIXME: what the hell is this?!? */ - (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn%26)==19) - ((bi->fn%26)==20)) % GSM_HYPERFRAME, - chan, tch_data, rc); + if (lchan->nr == 0) + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H0); + else + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H1); + l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, bi->rssi, + bi->toa256); + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, + tch_data, rc); } /* schedule all frames of all TRX for given FN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37601ddd85e4287dd9e41ad4a8cb7d314de1a83d Gerrit-Change-Number: 15757 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Oct 29 10:38:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 10:38:41 +0000 Subject: Change in libosmo-sccp[master]: M3UA: Reject ASP activation + RKM registration for incompatible traff... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 ) Change subject: M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c File src/xua_asp_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c at 459 PS2, Line 459: break; This one should also be a return? https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c at 468 PS2, Line 468: break; This one should be a return, otherwise you send an error and later you send an ACK. But it's not really related to this commit, the error was already there as far as I can see. https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c at 473 PS2, Line 473: if (!osmo_ss7_tmode_compatible_xua(as->cfg.mode, traf_mode)) { I'd rather have an API passing AS as the first parameter. Because from what I understand from RFC4666, if the mode of the AS is not set by local config, then the one requested by ASPAC is used: """ If the SGP determines that the mode indicated in an ASP Active message is unsupported or incompatible with the mode currently configured for the AS, the SGP responds with an Error message ("Unsupported / Invalid Traffic Handling Mode"). If the traffic handling mode of the Application Server is not already known via configuration data, then the traffic handling mode indicated in the first ASP Active message causing the transition of the Application Server state to AS-ACTIVE MAY be used to set the mode. """ So basically I think there should be a check like I do in other places: osmo_as_tmode_compatible_xua(as, traf_mode) { if (as->cfg.mode_set_by_vty) { ...then check if as->cfg.mode is compatible with tmode... } else { return true } } Actually, the best would be adding a new flag as->cfg.mode_set_by_req set to true in the next file where as->cfg.mode is set from the request, and in here we should do the following check: if (as->cfg.mode_set_by_vty || as->cfg.mode_set_by_req) { ...then check if as->cfg.mode is compatible with tmode... } else { return true } https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_rkm.c File src/xua_rkm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_rkm.c at 221 PS2, Line 221: as->cfg.mode = osmo_ss7_tmode_from_xua(_tmode); here: as->cfg.mode_set_by_req = true; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c Gerrit-Change-Number: 15885 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 10:38: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 Tue Oct 29 10:39:44 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Oct 2019 10:39:44 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15886 ) Change subject: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) ...................................................................... osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) The logging categories cc and mgcp are obsolete. The tests still contain logging statements with those categories, which makes osmo-bsc crash. Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 3 files changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/86/15886/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 2f6ab99..beee66b 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -15,7 +15,6 @@ logging print extended-timestamp 1 logging level all everything logging level rll notice - logging level cc notice logging level mm notice logging level rr notice logging level rsl notice @@ -23,7 +22,6 @@ logging level pag notice logging level meas notice logging level msc notice - logging level mgcp notice logging level ho notice logging level ref notice logging level nat notice diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index fb0600a..326a5c0 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -15,7 +15,6 @@ logging print extended-timestamp 1 logging level all everything logging level rll notice - logging level cc notice logging level mm notice logging level rr notice logging level rsl notice @@ -23,7 +22,6 @@ logging level pag notice logging level meas notice logging level msc notice - logging level mgcp notice logging level ho notice logging level ref notice logging level nat notice diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 8b04f4a..18bc9d2 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -16,7 +16,6 @@ logging print file 1 logging level all everything logging level rll info - logging level cc notice logging level mm notice logging level rr notice logging level rsl debug @@ -24,7 +23,6 @@ logging level pag notice logging level meas notice logging level msc debug - logging level mgcp notice logging level ho notice logging level hodec notice logging level ref notice -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 Gerrit-Change-Number: 15886 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 Oct 29 10:40:02 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 10:40:02 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre ...................................................................... osmo-gbproxy.cfg: remove framerelay-gre Fix the vty tests, which are currently failing with: FR/GRE is not enabled "Warnings" like this one were changed into errors in [1], which was causing osmo-gbproxy not to start anymore with the previous config. [1] libosmocore Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 --- M doc/examples/osmo-gbproxy/osmo-gbproxy.cfg 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/87/15887/1 diff --git a/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg b/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg index 29f698f..45f56e0 100644 --- a/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg +++ b/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg @@ -20,7 +20,5 @@ timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 - encapsulation framerelay-gre enabled 0 - encapsulation framerelay-gre local-ip 0.0.0.0 encapsulation udp local-ip 127.0.0.100 encapsulation udp local-port 23000 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 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 Oct 29 10:40:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 10:40:40 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15886 ) Change subject: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 Gerrit-Change-Number: 15886 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 10:40: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 Oct 29 10:41:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 10:41:59 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg File doc/examples/osmo-gbproxy/osmo-gbproxy.cfg: https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg at a23 PS1, Line 23: encapsulation framerelay-gre enabled 0 IIUC this line disables FR/GRE, and the error says: "FR/GRE is not enabled" So it looks like we only need to remove the 2nd line? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 10:41:59 +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 Oct 29 10:51:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 10:51:11 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg File doc/examples/osmo-gbproxy/osmo-gbproxy.cfg: https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg at a23 PS1, Line 23: encapsulation framerelay-gre enabled 0 > IIUC this line disables FR/GRE, and the error says: "FR/GRE is not enabled" [?] It seems like it, but it will fail unless both lines are removed. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 10:51:11 +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 Oct 29 10:53:31 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 29 Oct 2019 10:53:31 +0000 Subject: Change in libosmocore[master]: l1sap: add measurement related struct memebers References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15888 ) Change subject: l1sap: add measurement related struct memebers ...................................................................... l1sap: add measurement related struct memebers In order to disolve info_meas_ind_param in ph_data_param and ph_tch_param we need to add the measurement related struct members to ph_data_param and ph_tch_param as well so that those indications can also carry measurement data. Change-Id: I2c34b02d329f9df190c5035c396403ca0a4f9c42 Related: OS#2977 --- M include/osmocom/gsm/l1sap.h 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/15888/1 diff --git a/include/osmocom/gsm/l1sap.h b/include/osmocom/gsm/l1sap.h index 3d2ad25..17ef283 100644 --- a/include/osmocom/gsm/l1sap.h +++ b/include/osmocom/gsm/l1sap.h @@ -84,6 +84,7 @@ }; int16_t lqual_cb; /*!< Link quality in centiBel */ enum osmo_ph_pres_info_type pdch_presence_info; /*!< Info regarding presence/validity of header and data parts */ + uint8_t is_sub:1; /*!< flags */ }; /*! for TCH.{req,ind} | TCH-RTS.ind */ @@ -94,6 +95,11 @@ uint8_t marker; /*!< RTP Marker bit (speech onset indicator) */ uint16_t ber10k; /*!< BER in units of 0.01% */ int16_t lqual_cb; /*!< Link quality in centiBel */ + union { + int16_t ta_offs_qbits; /*!< timing advance offset (in qbits) */ + int16_t ta_offs_256bits;/*!< timing advance offset (in 1/256th bits) */ + }; + uint8_t is_sub:1; /*!< flags */ }; /*! for PH-CONN.ind */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c34b02d329f9df190c5035c396403ca0a4f9c42 Gerrit-Change-Number: 15888 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 Oct 29 11:15:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 11:15:27 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg File doc/examples/osmo-gbproxy/osmo-gbproxy.cfg: https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg at a23 PS1, Line 23: encapsulation framerelay-gre enabled 0 > It seems like it, but it will fail unless both lines are removed. But then it fails somehow later? I don't understand, because the first removed cmd cannot fail with a warning: """ DEFUN(cfg_frgre_enable, cfg_frgre_enable_cmd, "encapsulation framerelay-gre enabled (1|0)", ENCAPS_STR "NS over Frame Relay over GRE Encapsulation\n" "Enable or disable Frame Relay over GRE\n" "Enable\n" "Disable\n") { int enabled = atoi(argv[0]); vty_nsi->frgre.enabled = enabled; return CMD_SUCCESS; } """ While the second indeed does print the warning you see: """ DEFUN(cfg_frgre_local_ip, cfg_frgre_local_ip_cmd, "encapsulation framerelay-gre local-ip A.B.C.D", ENCAPS_STR "NS over Frame Relay over GRE Encapsulation\n" "Set the IP address on which we listen for NS/FR/GRE\n" "IP Address\n") { struct in_addr ia; if (!vty_nsi->frgre.enabled) { vty_out(vty, "FR/GRE is not enabled%s", VTY_NEWLINE); return CMD_WARNING; } inet_aton(argv[0], &ia); vty_nsi->frgre.local_ip = osmo_ntohl(ia.s_addr); return CMD_SUCCESS; } """ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 11:15:27 +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 Tue Oct 29 11:38:06 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 29 Oct 2019 11:38:06 +0000 Subject: Change in docker-playground[master]: Add docker image for osmo-nitb-latest References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15889 ) Change subject: Add docker image for osmo-nitb-latest ...................................................................... Add docker image for osmo-nitb-latest Change-Id: I23cb350ded2940bd63b47ae84e44faa3292b0d9d --- A osmo-nitb-latest/Dockerfile A osmo-nitb-latest/Makefile A osmo-nitb-latest/Release.key A osmo-nitb-latest/bscs.config A osmo-nitb-latest/openbsc.cfg A osmo-nitb-latest/osmo-bsc-nat.cfg 6 files changed, 300 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/89/15889/1 diff --git a/osmo-nitb-latest/Dockerfile b/osmo-nitb-latest/Dockerfile new file mode 100644 index 0000000..48cdf70 --- /dev/null +++ b/osmo-nitb-latest/Dockerfile @@ -0,0 +1,36 @@ +FROM debian:stretch + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +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-latest.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + osmocom-nitb \ + osmocom-bsc-nat \ + libdbd-sqlite3 && \ + apt-get clean + +WORKDIR /tmp + +VOLUME /data + +COPY openbsc.cfg /data/openbsc.cfg +COPY osmo-bsc-nat.cfg /data/osmo-bsc-nat.cfg +COPY bscs.config /data/bscs.config + +WORKDIR /data +CMD ["/usr/bin/osmo-nitb"] + +EXPOSE 3002/tcp 3003/tcp 4242/tcp 2775/tcp 4249/tcp diff --git a/osmo-nitb-latest/Makefile b/osmo-nitb-latest/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-nitb-latest/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-nitb-latest/Release.key b/osmo-nitb-latest/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-nitb-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----- diff --git a/osmo-nitb-latest/bscs.config b/osmo-nitb-latest/bscs.config new file mode 100644 index 0000000..b6770e8 --- /dev/null +++ b/osmo-nitb-latest/bscs.config @@ -0,0 +1,8 @@ +nat + bsc 0 + token BSC0 + location_area_code 1 + description bsc + max-endpoints 32 + paging forbidden 0 + osmux on diff --git a/osmo-nitb-latest/openbsc.cfg b/osmo-nitb-latest/openbsc.cfg new file mode 100644 index 0000000..31c9a0c --- /dev/null +++ b/osmo-nitb-latest/openbsc.cfg @@ -0,0 +1,195 @@ +! +! OpenBSC (0.15.0.826-4b731-dirty) configuration saved from vty +!! +password foo +! +log stderr + logging filter all 1 + logging color 1 + logging print category 0 + logging timestamp 0 + logging level all everything + logging level rll notice + logging level cc notice + logging level mm debug + logging level rr notice + logging level rsl notice + logging level nm info + logging level mncc notice + logging level pag notice + logging level meas notice + logging level sccp notice + logging level msc notice + logging level mgcp notice + logging level ho notice + logging level db notice + logging level ref notice + logging level gprs debug + logging level ns info + logging level bssgp debug + logging level llc debug + logging level sndcp debug + logging level nat notice + logging level ctrl notice + logging level smpp debug + logging level filter debug + logging level ranap debug + logging level sua debug + logging level pcu debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + 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 +! +stats interval 5 +! +line vty + no login + bind 0.0.0.0 +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive +network + network country code 262 + mobile network code 42 + short name Osmocom + long name Osmocom + auth policy closed + authorized-regexp .* + location updating reject cause 13 + encryption a5 0 + neci 0 + paging any use tch 0 + rrlp mode none + mm info 1 + handover 0 + handover window rxlev averaging 10 + handover window rxqual averaging 1 + handover window rxlev neighbor averaging 10 + handover power budget interval 6 + handover power budget hysteresis 3 + handover maximum distance 9999 + timer t3103 4 + timer t3105 4 + timer t3107 4 + timer t3109 4 + timer t3111 4 + timer t3115 4 + timer t3117 4 + timer t3119 4 + timer t3122 4 + timer t3141 4 + dyn_ts_allow_tch_f 0 + subscriber-keep-in-ram 0 + bts 0 + type sysmobts + band DCS1800 + cell_identity 20960 + location_area_code 13135 + dtx uplink force + base_station_id_code 63 + ms max power 40 + cell reselection hysteresis 2 + rxlev access min 45 + periodic location update 6 + radio-link-timeout 4 + channel allocator ascending + rach tx integer 7 + rach max transmission 4 + channel-descrption attach 0 + channel-descrption bs-pa-mfrms 3 + channel-descrption bs-ag-blks-res 2 + early-classmark-sending allowed + ip.access unit_id 1234 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode automatic + codec-support fr hr efr amr + amr tch-f modes 7 + amr tch-f start-mode auto + gprs mode gprs + gprs 11bit_rach_support_for_egprs 0 + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 196 + 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 96 + 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 0 + gprs nsvc 0 local udp port 21000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 172.18.0.21 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + 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 +mncc-int + default-codec tch-f efr + default-codec tch-h hr +nitb + subscriber-create-on-demand + assign-tmsi +smpp + local-tcp-port 2775 + policy closed + no smpp-first diff --git a/osmo-nitb-latest/osmo-bsc-nat.cfg b/osmo-nitb-latest/osmo-bsc-nat.cfg new file mode 100644 index 0000000..db74d7e --- /dev/null +++ b/osmo-nitb-latest/osmo-bsc-nat.cfg @@ -0,0 +1,40 @@ +! +! OsmoBSCNAT (0.12.0.266-2daa9) configuration saved from vty +!! +! +log file /data/osmo-bsc_nat.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level force-all debug +! +line vty + no login + bind 0.0.0.0 +! +mgcp + bind ip 0.0.0.0 + bind port 2427 + rtp bts-base 4000 + rtp net-base 16000 + rtp ip-dscp 0 + no rtcp-omit + sdp audio-payload number 126 + sdp audio-payload name AMR/8000 + loop 0 + number endpoints 32 + call-agent ip 127.0.0.1 + rtp transcoder-base 0 + transcoder-remote-base 4000 +nat + msc ip 127.0.0.1 + msc port 5100 + token foo + timeout auth 2 + timeout ping 20 + timeout pong 5 + ip-dscp 0 + bscs-config-file bscs.config + access-list msceven imsi-allow ^[0-9]*[24680]$ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I23cb350ded2940bd63b47ae84e44faa3292b0d9d Gerrit-Change-Number: 15889 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 Oct 29 11:40:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 11:40:07 +0000 Subject: Change in docker-playground[master]: Add docker image for osmo-nitb-latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15889 ) Change subject: Add docker image for osmo-nitb-latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I23cb350ded2940bd63b47ae84e44faa3292b0d9d Gerrit-Change-Number: 15889 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 11:40: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 Tue Oct 29 12:34:35 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 29 Oct 2019 12:34:35 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15886 ) Change subject: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 Gerrit-Change-Number: 15886 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 12:34: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 Oct 29 12:37:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 12:37:35 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre local-ip 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/+/15887 to look at the new patch set (#2). Change subject: osmo-gbproxy.cfg: remove framerelay-gre local-ip ...................................................................... osmo-gbproxy.cfg: remove framerelay-gre local-ip Fix the vty tests, which are currently failing with: FR/GRE is not enabled "Warnings" like this one were changed into errors in [1], which was causing osmo-gbproxy not to start anymore with the previous config. [1] libosmocore Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 --- M doc/examples/osmo-gbproxy/osmo-gbproxy.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/87/15887/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder 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 Tue Oct 29 12:40:19 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 12:40:19 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre local-ip In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre local-ip ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg File doc/examples/osmo-gbproxy/osmo-gbproxy.cfg: https://gerrit.osmocom.org/c/osmo-sgsn/+/15887/1/doc/examples/osmo-gbproxy/osmo-gbproxy.cfg at a23 PS1, Line 23: encapsulation framerelay-gre enabled 0 > But then it fails somehow later? I don't understand, because the first removed cmd cannot fail with [?] Looks like I did not test properly. You are right, we can keep the "enabled" line. Good catch! :) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 12:40:19 +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 Tue Oct 29 13:15:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 13:15:35 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre local-ip In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre local-ip ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:15: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 Oct 29 13:16:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 13:16:43 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre local-ip In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre local-ip ...................................................................... Patch Set 2: TBH I think we should drop that warning anyway, it makes no sense that you cannot provide config param if it is not enabled, it doesn't harm and allows keeping config if you enable it later. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:16: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 Tue Oct 29 13:18:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:18:21 +0000 Subject: Change in libosmo-sccp[master]: xua_asp_fsm: Don't send M3UA ERR and then send ASPAC_ACK References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15892 ) Change subject: xua_asp_fsm: Don't send M3UA ERR and then send ASPAC_ACK ...................................................................... xua_asp_fsm: Don't send M3UA ERR and then send ASPAC_ACK IF we cannot activate the ASP in response to an ASPAC, we should return just the error and not an error + ASPACK_ACK. Change-Id: I681021a13af9b91d8b2b849bd7149d6b1f783865 --- M src/xua_asp_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/92/15892/1 diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 890a6b5..9880d55 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -465,7 +465,7 @@ rctx = osmo_load32be(&part->dat[i * sizeof(uint32_t)]); if (!osmo_ss7_as_find_by_rctx(asp->inst, rctx)) { peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX); - break; + return; } } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I681021a13af9b91d8b2b849bd7149d6b1f783865 Gerrit-Change-Number: 15892 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 Tue Oct 29 13:26:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:26:10 +0000 Subject: Change in libosmo-sccp[master]: M3UA: Reject ASP activation + RKM registration for incompatible traff... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 ) Change subject: M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c File src/xua_asp_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c at 459 PS2, Line 459: break; > This one should also be a return? ACK https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c at 468 PS2, Line 468: break; > This one should be a return, otherwise you send an error and later you send an ACK. [?] yes, I'll submit a separate fix. https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/2/src/xua_asp_fsm.c at 473 PS2, Line 473: if (!osmo_ss7_tmode_compatible_xua(as->cfg.mode, traf_mode)) { > I'd rather have an API passing AS as the first parameter. [?] ACK -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c Gerrit-Change-Number: 15885 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:26:10 +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 Oct 29 13:26:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:26:18 +0000 Subject: Change in libosmo-sccp[master]: M3UA: Reject ASP activation + RKM registration for incompatible traff... 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-sccp/+/15885 to look at the new patch set (#3). Change subject: M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode ...................................................................... M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode If the AS is e.g. configured as broadcast, then individual ASPs cannot be activated in loadshare or override. Everyone must agree. Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/xua_asp_fsm.c M src/xua_rkm.c 4 files changed, 53 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/85/15885/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c Gerrit-Change-Number: 15885 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 Tue Oct 29 13:27:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:27:04 +0000 Subject: Change in osmo-bsc[master]: rsl.c: Clean up some repeated use of long chains of pointers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15890 ) Change subject: rsl.c: Clean up some repeated use of long chains of pointers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie5ea0f44dfb5731cab7e8e5a3dd3d791ee703df7 Gerrit-Change-Number: 15890 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 29 Oct 2019 13:27: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 Tue Oct 29 13:27:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:27:28 +0000 Subject: Change in osmo-bsc[master]: rsl: Send IE MS Power Param to osmocom BTS models only In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15891 ) Change subject: rsl: Send IE MS Power Param to osmocom BTS models only ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44121222042bdac06c2a5e70f7b35a88b00b27c Gerrit-Change-Number: 15891 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 29 Oct 2019 13: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 Oct 29 13:27:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:27:32 +0000 Subject: Change in osmo-bsc[master]: rsl.c: Clean up some repeated use of long chains of pointers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15890 ) Change subject: rsl.c: Clean up some repeated use of long chains of pointers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie5ea0f44dfb5731cab7e8e5a3dd3d791ee703df7 Gerrit-Change-Number: 15890 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 29 Oct 2019 13:27: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 Oct 29 13:27:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:27:33 +0000 Subject: Change in osmo-bsc[master]: rsl.c: Clean up some repeated use of long chains of pointers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15890 ) Change subject: rsl.c: Clean up some repeated use of long chains of pointers ...................................................................... rsl.c: Clean up some repeated use of long chains of pointers Further accesses will be addter in forthcoming commit, so let's first store the pointers in variables to clean up the code. Change-Id: Ie5ea0f44dfb5731cab7e8e5a3dd3d791ee703df7 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 9 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 575f91d..6ffa415 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -295,12 +295,14 @@ int rsl_chan_ms_power_ctrl(struct gsm_lchan *lchan, unsigned int fpc, int dbm) { + struct gsm_bts_trx *trx = lchan->ts->trx; + struct gsm_bts *bts = trx->bts; struct abis_rsl_dchan_hdr *dh; struct msgb *msg; uint8_t chan_nr = gsm_lchan2chan_nr(lchan); int ctl_lvl; - ctl_lvl = ms_pwr_ctl_lvl(lchan->ts->trx->bts->band, dbm); + ctl_lvl = ms_pwr_ctl_lvl(bts->band, dbm); if (ctl_lvl < 0) return ctl_lvl; @@ -319,7 +321,7 @@ /* indicate MS power control to be performed by BTS: */ msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = trx->rsl_link; return abis_rsl_sendmsg(msg); } @@ -460,6 +462,8 @@ /* Chapter 8.4.1 */ int rsl_tx_chan_activ(struct gsm_lchan *lchan, uint8_t act_type, uint8_t ho_ref) { + struct gsm_bts_trx *trx = lchan->ts->trx; + struct gsm_bts *bts = trx->bts; struct abis_rsl_dchan_hdr *dh; struct msgb *msg; int rc; @@ -487,7 +491,7 @@ ta = lchan->rqd_ta; /* BS11 requires TA shifted by 2 bits */ - if (lchan->ts->trx->bts->type == GSM_BTS_TYPE_BS11) + if (bts->type == GSM_BTS_TYPE_BS11) ta <<= 2; memset(&cd, 0, sizeof(cd)); @@ -548,9 +552,9 @@ mr_config_for_bts(lchan, msg); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = trx->rsl_link; - rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); return abis_rsl_sendmsg(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie5ea0f44dfb5731cab7e8e5a3dd3d791ee703df7 Gerrit-Change-Number: 15890 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 Tue Oct 29 13:27:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 13:27:33 +0000 Subject: Change in osmo-bsc[master]: rsl: Send IE MS Power Param to osmocom BTS models only In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15891 ) Change subject: rsl: Send IE MS Power Param to osmocom BTS models only ...................................................................... rsl: Send IE MS Power Param to osmocom BTS models only Since MS Power Param IE content is operator dependant, it's currently not known which kind of content non-osmocom BTS support/allow, so let's avod possibily breaking those BTS until each BTS has been checked separately. Related: OS#1622 Change-Id: If44121222042bdac06c2a5e70f7b35a88b00b27c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 10 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 6ffa415..d4917f2 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -319,7 +319,11 @@ msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); /* indicate MS power control to be performed by BTS: */ - msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + if (bts->type == GSM_BTS_TYPE_OSMOBTS) + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + /* else: Since IE MS_POWER_PARAM content is operator dependent, it's not + known if non-osmocom BTS models will support an empty IE, so let's + better skip sending it unless we know for sure what each expects. */ msg->dst = trx->rsl_link; @@ -548,7 +552,11 @@ msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta); /* indicate MS power control to be performed by BTS: */ - msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + if (bts->type == GSM_BTS_TYPE_OSMOBTS) + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + /* else: Since IE MS_POWER_PARAM content is operator dependent, it's not + known if non-osmocom BTS models will support an empty IE, so let's + better skip sending it unless we know for sure what each expects. */ mr_config_for_bts(lchan, msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44121222042bdac06c2a5e70f7b35a88b00b27c Gerrit-Change-Number: 15891 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 Tue Oct 29 13:37:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 13:37:20 +0000 Subject: Change in libosmo-sccp[master]: xua_asp_fsm: Don't send M3UA ERR and then send ASPAC_ACK In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15892 ) Change subject: xua_asp_fsm: Don't send M3UA ERR and then send ASPAC_ACK ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/15892/1/src/xua_asp_fsm.c File src/xua_asp_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15892/1/src/xua_asp_fsm.c at 460 PS1, Line 460: break; Send another one for this one too please. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I681021a13af9b91d8b2b849bd7149d6b1f783865 Gerrit-Change-Number: 15892 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:37: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 Tue Oct 29 13:43:30 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 13:43:30 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre local-ip In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre local-ip ...................................................................... Patch Set 2: > Patch Set 2: > > TBH I think we should drop that warning anyway, it makes no sense that you cannot provide config param if it is not enabled, it doesn't harm and allows keeping config if you enable it later. This seems like the best solution... I'll update this patch, and do the same thing for osmo-msc. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:43:30 +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 Oct 29 13:45:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 13:45:59 +0000 Subject: Change in libosmo-sccp[master]: M3UA: Reject ASP activation + RKM registration for incompatible traff... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 ) Change subject: M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode ...................................................................... Patch Set 3: (4 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/3/include/osmocom/sigtran/osmo_ss7.h File include/osmocom/sigtran/osmo_ss7.h: https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/3/include/osmocom/sigtran/osmo_ss7.h at 319 PS3, Line 319: /* traffic mode was configured by RKM (routing key management) */ AFAIU not only by RKM, but by first ASPAC too. https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/3/include/osmocom/sigtran/osmo_ss7.h at 531 PS3, Line 531: bool osmo_ss7_as_tmode_compatible_xua(struct osmo_ss7_as *as, uint32_t m3ua_tmt); This one should go togehter with other osmo_ss7_as_* APIs around line 349. https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/3/src/xua_asp_fsm.c File src/xua_asp_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/3/src/xua_asp_fsm.c at 459 PS3, Line 459: return; Ah you fixed it here. I'd be better on the other commit but fine. https://gerrit.osmocom.org/c/libosmo-sccp/+/15885/3/src/xua_asp_fsm.c at 470 PS3, Line 470: if (traf_mode) { /* if the peer has specified a traffic mode at all */ I'm thinking that inside here we should have similar to what we have in RKM: if (!as->cfg.mode_set_by_vty) { as.cfg->mode_set_by_rkm/req); as->cfg.mode = to_ss7_mode(tmode) } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic73410fbc88d50710202453f759fa132ce14db4c Gerrit-Change-Number: 15885 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:45:59 +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 Oct 29 13:58:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 13:58:24 +0000 Subject: Change in libosmocore[master]: gprs_ns_vty: return success for disabled FR/GRE References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15893 ) Change subject: gprs_ns_vty: return success for disabled FR/GRE ...................................................................... gprs_ns_vty: return success for disabled FR/GRE Do not return a warning and therefore fail parsing the config when the "encapsulation framerelay-gre local-ip" command is used and FR/GRE is disabled. Having this in the config does no harm and allows keeping the same config if it is enabled later. This fixes the currently failing vty tests for osmo-sgsn. Fixes: a0c8195ad37292ab800a6c777fc28383995b4b64 ("vty: Return error if cmd returns CMD_WARNING while reading cfg file") Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 --- M src/gb/gprs_ns_vty.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/15893/1 diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index 4a90436..df11bdb 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -510,7 +510,9 @@ if (!vty_nsi->frgre.enabled) { vty_out(vty, "FR/GRE is not enabled%s", VTY_NEWLINE); - return CMD_WARNING; + /* Don't return CMD_WARNING here, having the config param even if it is not enabled does not harm and + * allows keeping config if enabled later. */ + return CMD_SUCCESS; } inet_aton(argv[0], &ia); vty_nsi->frgre.local_ip = osmo_ntohl(ia.s_addr); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 Gerrit-Change-Number: 15893 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 Oct 29 13:58:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 13:58:36 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre local-ip In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre local-ip ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:58: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 Oct 29 13:59:02 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 13:59:02 +0000 Subject: Change in osmo-sgsn[master]: osmo-gbproxy.cfg: remove framerelay-gre local-ip In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 ) Change subject: osmo-gbproxy.cfg: remove framerelay-gre local-ip ...................................................................... Abandoned obsoleted by https://gerrit.osmocom.org/c/libosmocore/+/15893 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibbb2fb80540ba78cded99ced1926e523d529dc35 Gerrit-Change-Number: 15887 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder 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 Oct 29 13:59:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 13:59:41 +0000 Subject: Change in libosmocore[master]: gprs_ns_vty: return success for disabled FR/GRE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15893 ) Change subject: gprs_ns_vty: return success for disabled FR/GRE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15893/1/src/gb/gprs_ns_vty.c File src/gb/gprs_ns_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/15893/1/src/gb/gprs_ns_vty.c at 511 PS1, Line 511: if (!vty_nsi->frgre.enabled) { I think you should drop the whole if condition. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 Gerrit-Change-Number: 15893 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 13:59: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 Tue Oct 29 14:08:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 14:08:22 +0000 Subject: Change in osmo-msc[master]: msc_vty: no warning for ignored "cs7-instance-iu" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15894 ) Change subject: msc_vty: no warning for ignored "cs7-instance-iu" ...................................................................... msc_vty: no warning for ignored "cs7-instance-iu" Do not return a warning and therefore fail parsing the config when "cs7-instance-iu" is used and IU is disabled. This fixes the vty tests, which are failing since libosmocore change Ic225232fbfca49ba868427eaf898e1f6e34e1ca8. Change-Id: I8889c21307257e7c32d0c3f9dcafb617c1b05efd --- M src/libmsc/msc_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/94/15894/1 diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 51504ef..dc170d3 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -500,12 +500,12 @@ { #if BUILD_IU gsmnet->iu.cs7_instance = atoi(argv[0]); - return CMD_SUCCESS; #else vty_out(vty, "WARNING: 'cs7-instance-iu' without effect: built without Iu support%s", VTY_NEWLINE); - return CMD_WARNING; + /* Return CMD_SUCCESS anyway, so we can use the same config. */ #endif + return CMD_SUCCESS; } DEFUN(cfg_msc_auth_tuple_max_reuse_count, cfg_msc_auth_tuple_max_reuse_count_cmd, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8889c21307257e7c32d0c3f9dcafb617c1b05efd Gerrit-Change-Number: 15894 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 Oct 29 14:11:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 14:11:37 +0000 Subject: Change in libosmocore[master]: gprs_ns_vty: return success for disabled FR/GRE 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/+/15893 to look at the new patch set (#2). Change subject: gprs_ns_vty: return success for disabled FR/GRE ...................................................................... gprs_ns_vty: return success for disabled FR/GRE Do not return a warning and therefore fail parsing the config when the "encapsulation framerelay-gre local-ip" command is used and FR/GRE is disabled. Having this in the config does no harm and allows keeping the same config if it is enabled later. This fixes the currently failing vty tests for osmo-sgsn. Fixes: a0c8195ad37292ab800a6c777fc28383995b4b64 ("vty: Return error if cmd returns CMD_WARNING while reading cfg file") Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 --- M src/gb/gprs_ns_vty.c 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/15893/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 Gerrit-Change-Number: 15893 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Oct 29 14:11:49 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 14:11:49 +0000 Subject: Change in libosmocore[master]: gprs_ns_vty: return success for disabled FR/GRE In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15893 ) Change subject: gprs_ns_vty: return success for disabled FR/GRE ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15893/1/src/gb/gprs_ns_vty.c File src/gb/gprs_ns_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/15893/1/src/gb/gprs_ns_vty.c at 511 PS1, Line 511: if (!vty_nsi->frgre.enabled) { > I think you should drop the whole if condition. Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 Gerrit-Change-Number: 15893 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 14:11: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 Oct 29 14:14:13 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 14:14:13 +0000 Subject: Change in osmo-msc[master]: msc_vty: no warning for ignored "cs7-instance-iu" In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-msc/+/15894 ) Change subject: msc_vty: no warning for ignored "cs7-instance-iu" ...................................................................... msc_vty: no warning for ignored "cs7-instance-iu" Do not return a warning and therefore fail parsing the config when "cs7-instance-iu" is used and IU is disabled. This fixes the vty tests, which are failing since libosmocore change Ic225232fbfca49ba868427eaf898e1f6e34e1ca8. Change-Id: I8889c21307257e7c32d0c3f9dcafb617c1b05efd --- M src/libmsc/msc_vty.c 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/94/15894/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8889c21307257e7c32d0c3f9dcafb617c1b05efd Gerrit-Change-Number: 15894 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 Tue Oct 29 14:15:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 14:15:02 +0000 Subject: Change in osmo-msc[master]: msc_vty: no warning for ignored "cs7-instance-iu" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15894 ) Change subject: msc_vty: no warning for ignored "cs7-instance-iu" ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15894/1/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/c/osmo-msc/+/15894/1/src/libmsc/msc_vty.c at 506 PS1, Line 506: /* Return CMD_SUCCESS anyway, so we can use the same config. */ I don't think this is the correct fix here. Rather fix tests to use different cfg files or split some tests to be run only if confiure sets BUILD_IU or similar. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8889c21307257e7c32d0c3f9dcafb617c1b05efd Gerrit-Change-Number: 15894 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Oct 2019 14:15:02 +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 Oct 29 14:15:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 14:15:37 +0000 Subject: Change in libosmocore[master]: gprs_ns_vty: return success for disabled FR/GRE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15893 ) Change subject: gprs_ns_vty: return success for disabled FR/GRE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 Gerrit-Change-Number: 15893 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 14:15: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 Tue Oct 29 14:48:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 14:48:53 +0000 Subject: Change in osmo-msc[master]: tests: only check IU configs if IU is enabled References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15895 ) Change subject: tests: only check IU configs if IU is enabled ...................................................................... tests: only check IU configs if IU is enabled Fix vty tests that are failing since libosmocore change Ic225232fbfca49ba868427eaf898e1f6e34e1ca8. If OsmoMSC is built without IU support, it fails with "cs7-instance-iu" in the config. Change-Id: Ie56da9167badfd2399b566af91a345103f46c2a1 --- M osmoappdesc.py M tests/Makefile.am 2 files changed, 14 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/95/15895/1 diff --git a/osmoappdesc.py b/osmoappdesc.py index 886c682..bd7fea3 100644 --- a/osmoappdesc.py +++ b/osmoappdesc.py @@ -14,13 +14,16 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see +import os + app_configs = { - "msc": ["doc/examples/osmo-msc/osmo-msc.cfg", - "doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg", - "doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg", - ], + "msc": ["doc/examples/osmo-msc/osmo-msc.cfg"], } +if os.environ["IU"] == "1": + app_configs["msc"] += ["doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg", + "doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg"] + apps = [(4254, "src/osmo-msc/osmo-msc", "OsmoMSC", "msc"), ] diff --git a/tests/Makefile.am b/tests/Makefile.am index 1fad552..27c1205 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -59,8 +59,13 @@ endif vty-python-test: $(BUILT_SOURCES) - osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v - osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v +if BUILD_IU + IU=1 osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v + IU=1 osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v +else + IU=0 osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v + IU=0 osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v +endif $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v rm -f $(top_builddir)/sms.db -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie56da9167badfd2399b566af91a345103f46c2a1 Gerrit-Change-Number: 15895 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 Oct 29 14:51:16 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 29 Oct 2019 14:51:16 +0000 Subject: Change in osmo-msc[master]: msc_vty: no warning for ignored "cs7-instance-iu" In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15894 ) Change subject: msc_vty: no warning for ignored "cs7-instance-iu" ...................................................................... Abandoned obsoleted by https://gerrit.osmocom.org/c/osmo-msc/+/15895 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8889c21307257e7c32d0c3f9dcafb617c1b05efd Gerrit-Change-Number: 15894 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 29 14:55:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 29 Oct 2019 14:55:07 +0000 Subject: Change in osmo-msc[master]: tests: only check IU configs if IU is enabled In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15895 ) Change subject: tests: only check IU configs if IU is enabled ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie56da9167badfd2399b566af91a345103f46c2a1 Gerrit-Change-Number: 15895 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Oct 2019 14: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 Tue Oct 29 14:59:30 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 14:59:30 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 1: > Agreeing with pau, we shoould try to make the New behavior default soon and See what the fallo ut is. I'm surprised, so far the feedback has been "we cannot change the default behavior", the reason being that ABI / behavior changes should be controllable from the API user. I don't expect any fallout in Osmocom code trees (only change I see is in the fsm_dealloc_test which is here in libosmocore, see subsequent patch.) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 14:59:30 +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 Oct 29 15:01:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 15:01:11 +0000 Subject: Change in osmo-msc[master]: tests: only check IU configs if IU is enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15895 ) Change subject: tests: only check IU configs if IU is enabled ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie56da9167badfd2399b566af91a345103f46c2a1 Gerrit-Change-Number: 15895 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 15:01: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 Oct 29 15:01:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 15:01:13 +0000 Subject: Change in osmo-msc[master]: tests: only check IU configs if IU is enabled In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15895 ) Change subject: tests: only check IU configs if IU is enabled ...................................................................... tests: only check IU configs if IU is enabled Fix vty tests that are failing since libosmocore change Ic225232fbfca49ba868427eaf898e1f6e34e1ca8. If OsmoMSC is built without IU support, it fails with "cs7-instance-iu" in the config. Change-Id: Ie56da9167badfd2399b566af91a345103f46c2a1 --- M osmoappdesc.py M tests/Makefile.am 2 files changed, 14 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/osmoappdesc.py b/osmoappdesc.py index 886c682..bd7fea3 100644 --- a/osmoappdesc.py +++ b/osmoappdesc.py @@ -14,13 +14,16 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see +import os + app_configs = { - "msc": ["doc/examples/osmo-msc/osmo-msc.cfg", - "doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg", - "doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg", - ], + "msc": ["doc/examples/osmo-msc/osmo-msc.cfg"], } +if os.environ["IU"] == "1": + app_configs["msc"] += ["doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg", + "doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg"] + apps = [(4254, "src/osmo-msc/osmo-msc", "OsmoMSC", "msc"), ] diff --git a/tests/Makefile.am b/tests/Makefile.am index 1fad552..27c1205 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -59,8 +59,13 @@ endif vty-python-test: $(BUILT_SOURCES) - osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v - osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v +if BUILD_IU + IU=1 osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v + IU=1 osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v +else + IU=0 osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v + IU=0 osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v +endif $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v rm -f $(top_builddir)/sms.db -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie56da9167badfd2399b566af91a345103f46c2a1 Gerrit-Change-Number: 15895 Gerrit-PatchSet: 1 Gerrit-Owner: osmith 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 Oct 29 15:06:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 15:06:42 +0000 Subject: Change in libosmocore[master]: gprs_ns_vty: return success for disabled FR/GRE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15893 ) Change subject: gprs_ns_vty: return success for disabled FR/GRE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 Gerrit-Change-Number: 15893 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 15:06: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 Oct 29 15:06:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 15:06:45 +0000 Subject: Change in libosmocore[master]: gprs_ns_vty: return success for disabled FR/GRE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15893 ) Change subject: gprs_ns_vty: return success for disabled FR/GRE ...................................................................... gprs_ns_vty: return success for disabled FR/GRE Do not return a warning and therefore fail parsing the config when the "encapsulation framerelay-gre local-ip" command is used and FR/GRE is disabled. Having this in the config does no harm and allows keeping the same config if it is enabled later. This fixes the currently failing vty tests for osmo-sgsn. Fixes: a0c8195ad37292ab800a6c777fc28383995b4b64 ("vty: Return error if cmd returns CMD_WARNING while reading cfg file") Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 --- M src/gb/gprs_ns_vty.c 1 file changed, 0 insertions(+), 4 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/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index 4a90436..9cffb71 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -508,10 +508,6 @@ { struct in_addr ia; - if (!vty_nsi->frgre.enabled) { - vty_out(vty, "FR/GRE is not enabled%s", VTY_NEWLINE); - return CMD_WARNING; - } inet_aton(argv[0], &ia); vty_nsi->frgre.local_ip = osmo_ntohl(ia.s_addr); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic225232fbfca49ba868427eaf898e1f6e34e1ca8 Gerrit-Change-Number: 15893 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 Tue Oct 29 15:44:49 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 15:44:49 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c File src/libmsc/ran_msg_iu.c: https://gerrit.osmocom.org/c/osmo-msc/+/15847/1/src/libmsc/ran_msg_iu.c at 402 PS1, Line 402: LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "DirectTransfer\n"); > Can we then at least use Can we then use strings from value_string directly so we don't duplicate st [?] These are the only instances of these RANAP specific strings, there are no dups. (The messages' names differ between RANAP and BSSMAP, using ran_msg_type_names[] would give me the BSSMAP names, but I want the RANAP names. Since BSSMAP is the "usual" mode of operation for osmo-msc, I decided to use the BSSMAP naming for the internal structures and RAN message types, but in practice these are RAN independent. Only the ran_msg_a.c and ran_msg_iu.c make the distinction between BSSMAP and RANAP encoding, so these places here where the string constants are added should be the exact only places where we want to name the individual messages according to RANAP.) I humbly think this is a sub-tiny aspect of the upcoming patches and not worth it to discuss at length... If this is still controversial, I would rather consider dropping the patch than spending more time. I would rather get on to the interesting patches, where I really fundamentally change the way osmo-msc works ... if you allow, of course -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 15:44:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels 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 Oct 29 15:47:07 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 15:47:07 +0000 Subject: Change in osmo-msc[master]: also log MNCC_SETUP_REQ 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-msc/+/15845 to look at the new patch set (#2). Change subject: also log MNCC_SETUP_REQ ...................................................................... also log MNCC_SETUP_REQ If an incoming MNCC_SETUP_REQ ends up in Paging (as usually it does), the early return so far skipped logging of that MNCC message. Add this logging. Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 --- M src/libmsc/gsm_04_08_cc.c M tests/msc_vlr/msc_vlr_test_call.err 2 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/45/15845/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 Gerrit-Change-Number: 15845 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 29 15:47:07 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 15:47:07 +0000 Subject: Change in osmo-msc[master]: BSSMAP log tweak 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/+/15846 to look at the new patch set (#2). Change subject: BSSMAP log tweak ...................................................................... BSSMAP log tweak Before: RAN decode: BSSMAP: Rx BSSMAP DT1 COMPLETE LAYER 3 After: RAN decode: BSSMAP: COMPLETE LAYER 3 This caught my attention while I was writing up a script to parse osmo-msc logging to produce ladder diagrams. Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 --- M src/libmsc/ran_msg_a.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/46/15846/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 Gerrit-Change-Number: 15846 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 29 16:03:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 16:03:24 +0000 Subject: Change in osmo-msc[master]: also log MNCC_SETUP_REQ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15845 ) Change subject: also log MNCC_SETUP_REQ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 Gerrit-Change-Number: 15845 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 16:03: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 Oct 29 16:03:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 29 Oct 2019 16:03:44 +0000 Subject: Change in osmo-msc[master]: BSSMAP log tweak In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15846 ) Change subject: BSSMAP log tweak ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 Gerrit-Change-Number: 15846 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 16:03: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 Oct 29 16:14:03 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 16:14:03 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 2: Async events would introduce pretty large complexity, and they would not solve the use-after-free problems. What these FSM patches do is remove complexity. The beauty of it is that plain function calls benefit from it just like other FSM instances do. This is another instance of a feature that should have been enabled from the start, for very simple and straightforward reasons: when an FSM instance terminates, how do I check whether it has terminated? It is a paradox, because when the instance has terminated, I am not allowed to access its memory anymore (to check a flag or fi->state), because I would access freed memory. I have had to solve countless crashes because of this fundamental problem. This problem has been present right from the start of osmo_fsm, and for ages I have been fighting these problems with super complex structures of conditionals that skip cleaning up or not, depending on what might have happened or some specialized flags. That was super annoying BF hell. A lot of wasted time. If instead deallocation is deferred, we can easily check a flag like fi->proc.terminating or fi->state without risking a use-after-free. We can also implicitly stop event dispatch and state transitions and duplicate term. We can solve this entire class of cleanup problems with one elegant solution, which fixeria came up with, btw, which I am super thankful for. For me this and osmo_fsm_set_term_stops_actions() are a game changer in implementing FSM cleanup, all I see is a massive bunch of complexity falling away and leaving behind very simple cleanup logic. I really cracked my head on this stuff over the past years, and now all of it is just solved without adverse effects. So I am actually surprised that you guys see it as kludge and complexity or nuclear weapons on flies, it is the opposite. It is a super simple solution for huuuuugely complex problems, not one, but all of them, in one fell swoop. Maybe you guys don't appreciate it as much as I do, since I believe I am the person that has spent the most time connecting various FSM instances running in complex relations to each other. Even in plain parent/child associations, I needed the osmo_fsm_term_safely() to avoid use-after-free, which happens as soon as both a parent and a child want to trigger collective term. (If I could go back, I would actually undo osmo_fsm_term_safely() and rather use this more elegant solution instead.) If you doubt the necessity of solving these problems, just switch off osmo_fsm_term_safely() and this patch, and try to solve the problems in fsm_dealloc_test.c manually, see libosmocore/tests/fsm/. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 16:14: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 Tue Oct 29 16:20:15 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 16:20:15 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: enable term_stops_actions In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15834 ) Change subject: fsm_dealloc_test: enable term_stops_actions ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/15834/1/tests/fsm/fsm_dealloc_test.c File tests/fsm/fsm_dealloc_test.c: https://gerrit.osmocom.org/c/libosmocore/+/15834/1/tests/fsm/fsm_dealloc_test.c at 457 PS1, Line 457: osmo_fsm_set_term_stops_actions > So now you're testing the new behaviour only? I'm just making the logs a bit shorter... I think osmo_fsm_set_term_stops_actions(true) is the only case we should care about, really. I'd make it the unconfigurable default if that is ok with backwards compatibility. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iff7843e12ce49f169f8c36b14fdb19935f61274d Gerrit-Change-Number: 15834 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 29 Oct 2019 16:20:15 +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 Tue Oct 29 16:24:12 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 16:24:12 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 2: Let me know whether we should just make this the new behavior, then I would also make it unconfigurable: always behave like term_stops_actions = true. I think this is ok to do and don't see any fallout in the current Osmocom code trees. Only external users that we don't know about might run into changing behavior, but I believe stopping events and state transitions after term would be the sane and expected behavior anyway. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 16:24: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 Tue Oct 29 16:32:24 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 16:32:24 +0000 Subject: Change in libosmocore[master]: fsm: refuse state chg and events after term References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15896 ) Change subject: fsm: refuse state chg and events after term ...................................................................... fsm: refuse state chg and events after term Refuse state changes and event dispatch for FSM instances that are already terminating. It is assumed that refusing state changes and events after FSM termination is seen as the sane expected behavior, hence this change in behavior is merged without being configurable. There is no fallout in current Osmocom code trees. fsm_dealloc_test needs a changed expected output, since it is explicitly creating complex FSM structures that terminate. Currently no other C test in Osmocom code needs adjusting. Rationale: Where multiple FSM instances are collaborating (like in osmo-bsc or osmo-msc), a terminating FSM instance often causes events to be dispatched back to itself, or causes state changes in FSM instances that are already terminating. That is hard to avoid, since each FSM instance could be a cause of failure, and wants to notify all the others of that, which in turn often choose to terminate. Another use case: any function that dispatches events or state changes to more than one FSM instance must be sure that after the first event dispatch, the second FSM instance is in fact still allocated. Furthermore, if the second FSM instance *has* terminated from the first dispatch, this often means that no more actions should be taken. That could be done by an explicit check for fsm->proc.terminating, but a more general solution is to do this check internally in fsm.c. In practice, I need this to avoid a crash in libosmo-mgcp-client, when an on_success() event dispatch causes the MGCP endpoint FSM to deallocate. The earlier dealloc-in-main-loop patch fixed part of it, but not all. Change-Id: Ia81a0892f710db86bd977462730b69f0dcc78f8c --- M src/fsm.c M tests/fsm/fsm_dealloc_test.err 2 files changed, 307 insertions(+), 1,996 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/96/15896/1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia81a0892f710db86bd977462730b69f0dcc78f8c Gerrit-Change-Number: 15896 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 Tue Oct 29 16:33:38 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 16:33:38 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 2: an alternative patch that simply enables this behavior without a switch is https://gerrit.osmocom.org/c/libosmocore/+/15896 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 16:33: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 Tue Oct 29 16:34:43 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 16:34:43 +0000 Subject: Change in libosmocore[master]: fsm: refuse state chg and events after term In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15896 ) Change subject: fsm: refuse state chg and events after term ...................................................................... Patch Set 1: this is an alternative variant of https://gerrit.osmocom.org/c/libosmocore/+/15833 -- this one makes it the default behavior without configurability. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia81a0892f710db86bd977462730b69f0dcc78f8c Gerrit-Change-Number: 15896 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 29 Oct 2019 16:34: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 Tue Oct 29 16:38:47 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 16:38:47 +0000 Subject: Change in osmo-mgw[master]: endpoint FSM: allow cancelling a notify event In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15838 ) Change subject: endpoint FSM: allow cancelling a notify event ...................................................................... Patch Set 1: thanks, I agree -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d Gerrit-Change-Number: 15838 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 29 Oct 2019 16:38: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 Tue Oct 29 22:05:04 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 22:05:04 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: allow cancelling a notify event 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-mgw/+/15838 to look at the new patch set (#2). Change subject: client: endp fsm: allow cancelling a notify event ...................................................................... client: endp fsm: allow cancelling a notify event There is a use-after-free problem if a 'notify' FSM as passed to osmo_mgcpc_ep_ci_request() deallocates before the notify event has been dispatched. To avoid that, add API to allow cancelling a notify. Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 42 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/38/15838/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d Gerrit-Change-Number: 15838 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Tue Oct 29 22:05:04 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 22:05:04 +0000 Subject: Change in osmo-mgw[master]: fix use-after-free: require new fsm safeguards, check for term 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-mgw/+/15839 to look at the new patch set (#2). Change subject: fix use-after-free: require new fsm safeguards, check for term ...................................................................... fix use-after-free: require new fsm safeguards, check for term API doc: require osmo_fsm_set_dealloc_ctx() and osmo_fsm_set_term_stops_actions(). mgcp_client during delete: do not reparent the FSM when it is already terminating. I have recently discovered a vulnerability: if an endpoint FSM deallocates during event handling of a successful MGCP response, this causes a use-after-free; and once that is fixed, a state change on the already terminated FSM causes a pointer corruption by using already cleaned data structures. osmo_fsm_set_dealloc_ctx() fixes the use-after-free, and osmo_fsm_set_term_stops_actions() fixes the pointer corruption. Related: Ib7fce7b7d54dfb87af97544796680919e5929a50 (osmo-bsc), I08c03946605aa12e0a5ce8b3c773704ef5327a7a (osmo-msc) Depends: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 (libosmocore), I0adc13a1a998e953b6c850efa2761350dd07e03a (libosmocore) Change-Id: I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/39/15839/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 Gerrit-Change-Number: 15839 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Oct 29 22:05:04 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 22:05:04 +0000 Subject: Change in osmo-mgw[master]: accept MGCP without SDP 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-mgw/+/15840 to look at the new patch set (#2). Change subject: accept MGCP without SDP ...................................................................... accept MGCP without SDP SDP is an optional part of MGCP messages. Do not fail when there is no SDP part. Practically this is useful to compose simpler MGCP responses from TTCN3 tests. osmo-mgw itself always includes SDP, so there is no real impact on operating libosmo-mgcp-client with osmo-mgw from osmo-bsc or osmo-msc. Change-Id: I608001626459ea72415fb142f857550bbb90c683 --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.c M tests/mgcp_client/mgcp_client_test.err 3 files changed, 18 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/40/15840/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I608001626459ea72415fb142f857550bbb90c683 Gerrit-Change-Number: 15840 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 29 22:05:05 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 22:05:05 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: add notify struct, prep for cancel-notify References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15897 ) Change subject: client: endp fsm: add notify struct, prep for cancel-notify ...................................................................... client: endp fsm: add notify struct, prep for cancel-notify Upcoming patches introduce copying notify information. Prepare by combining notify info into a separate sub-struct. Change-Id: I47c0dd112011b8cb4dc88e8efd010466d4ba6308 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 27 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/15897/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 3ea1492..02054ab 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -73,6 +73,13 @@ static struct osmo_fsm osmo_mgcpc_ep_fsm; +struct fsm_notify { + struct osmo_fsm_inst *fi; + uint32_t success; + uint32_t failure; + void *data; +}; + /*! One connection on an endpoint, corresponding to a connection identifier (CI) as returned by the MGW. * An endpoint has a fixed number of slots of these, which may or may not be in use. */ @@ -87,10 +94,7 @@ bool sent; enum mgcp_verb verb; struct mgcp_conn_peer verb_info; - struct osmo_fsm_inst *notify; - uint32_t notify_success; - uint32_t notify_failure; - void *notify_data; + struct fsm_notify notify; bool got_port_info; struct mgcp_conn_peer rtp_info; @@ -354,15 +358,17 @@ static void on_failure(struct osmo_mgcpc_ep_ci *ci) { - struct osmo_fsm_inst *notify = ci->notify; - uint32_t notify_failure = ci->notify_failure; - void *notify_data = ci->notify_data; struct osmo_mgcpc_ep *ep = ci->ep; + struct fsm_notify notify; int i; if (!ci->occupied) return; + /* When dispatching an event for this CI, the user may decide to trigger the next request for this conn right + * away. So we must be ready with a cleared *ci. Store the notify separately and clear before dispatching. */ + notify = ci->notify; + *ci = (struct osmo_mgcpc_ep_ci){ .ep = ci->ep, }; @@ -390,8 +396,8 @@ if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi)) return; - if (notify) - osmo_fsm_inst_dispatch(notify, notify_failure, notify_data); + if (notify.fi) + osmo_fsm_inst_dispatch(notify.fi, notify.failure, notify.data); } static int update_endpoint_name(struct osmo_mgcpc_ep_ci *ci, const char *new_endpoint_name) @@ -472,10 +478,10 @@ LOG_CI(ci, LOGL_DEBUG, "received successful response to %s: RTP=%s%s\n", osmo_mgcp_verb_name(ci->verb), mgcp_conn_peer_name(ci->got_port_info? &ci->rtp_info : NULL), - ci->notify ? "" : " (not sending a notification)"); + ci->notify.fi ? "" : " (not sending a notification)"); - if (ci->notify) - osmo_fsm_inst_dispatch(ci->notify, ci->notify_success, ci->notify_data); + if (ci->notify.fi) + osmo_fsm_inst_dispatch(ci->notify.fi, ci->notify.success, ci->notify.data); osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi); } @@ -584,16 +590,18 @@ .occupied = true, /* .pending = true follows below */ .verb = verb, - .notify = notify, - .notify_success = event_success, - .notify_failure = event_failure, - .notify_data = notify_data, + .notify = { + .fi = notify, + .success = event_success, + .failure = event_failure, + .data = notify_data, + } }; osmo_strlcpy(cleared_ci.label, ci->label, sizeof(cleared_ci.label)); osmo_strlcpy(cleared_ci.mgcp_ci_str, ci->mgcp_ci_str, sizeof(cleared_ci.mgcp_ci_str)); *ci = cleared_ci; - LOG_CI_VERB(ci, LOGL_DEBUG, "notify=%s\n", osmo_fsm_inst_name(ci->notify)); + LOG_CI_VERB(ci, LOGL_DEBUG, "notify=%s\n", osmo_fsm_inst_name(ci->notify.fi)); if (verb_info) ci->verb_info = *verb_info; @@ -693,8 +701,8 @@ osmo_mgcp_verb_name(ci->verb), ci->mgcp_ci_str); /* The way this is designed, we actually need to forget all about the ci right away. */ mgcp_conn_delete(ci->mgcp_client_fi); - if (ci->notify) - osmo_fsm_inst_dispatch(ci->notify, ci->notify_success, ci->notify_data); + if (ci->notify.fi) + osmo_fsm_inst_dispatch(ci->notify.fi, ci->notify.success, ci->notify.data); *ci = (struct osmo_mgcpc_ep_ci){ .ep = ep, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47c0dd112011b8cb4dc88e8efd010466d4ba6308 Gerrit-Change-Number: 15897 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 Tue Oct 29 22:05:05 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 22:05:05 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: clear ci[] before dispatching DLCX success References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15898 ) Change subject: client: endp fsm: clear ci[] before dispatching DLCX success ...................................................................... client: endp fsm: clear ci[] before dispatching DLCX success In case the ep gets deallocated during event dispatch, move all ci[] cleanup to *before* dispatching a DLCX OK event. Afterwards, it might become a use-after-free. Change-Id: Ib2032e5566e465c02a9a525ccd38f9dcc84fb669 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/98/15898/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 02054ab..30ad2d3 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -663,6 +663,7 @@ { int rc; struct osmo_mgcpc_ep *ep = ci->ep; + struct fsm_notify notify; if (!ci->occupied || !ci->pending || ci->sent) return 0; @@ -701,11 +702,14 @@ osmo_mgcp_verb_name(ci->verb), ci->mgcp_ci_str); /* The way this is designed, we actually need to forget all about the ci right away. */ mgcp_conn_delete(ci->mgcp_client_fi); - if (ci->notify.fi) - osmo_fsm_inst_dispatch(ci->notify.fi, ci->notify.success, ci->notify.data); + notify = ci->notify; *ci = (struct osmo_mgcpc_ep_ci){ .ep = ep, }; + /* When dispatching an event for this CI, the user may decide to trigger the next request for this conn + * right away. So we must be ready with a cleared *ci. */ + if (notify.fi) + osmo_fsm_inst_dispatch(notify.fi, notify.success, notify.data); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2032e5566e465c02a9a525ccd38f9dcc84fb669 Gerrit-Change-Number: 15898 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 Tue Oct 29 22:05:05 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 29 Oct 2019 22:05:05 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: add osmo_mgcpc_ep_ci_ep() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15899 ) Change subject: client: endp fsm: add osmo_mgcpc_ep_ci_ep() ...................................................................... client: endp fsm: add osmo_mgcpc_ep_ci_ep() If an API user only has access to the ci FSM (which is managed via an opaque struct), provide this function to obtain the backpointer to the parent endpoint FSM, mostly to be able to call osmo_mgcpc_ep_cancel_notify() on it. osmo-msc's rtp_stream FSM will use this in I351bb8e8fbc46eb629bcd599f6453e2c84c15015. Change-Id: I14f7a46031327fb2b2047b998eae6ad0bb7324ad --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/99/15899/1 diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index 9ae2039..736da22 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -30,6 +30,7 @@ void *notify_data); void osmo_mgcpc_ep_cancel_notify(struct osmo_mgcpc_ep *ep, struct osmo_fsm_inst *notify); +struct osmo_mgcpc_ep *osmo_mgcpc_ep_ci_ep(struct osmo_mgcpc_ep_ci *ci); /*! Dispatch a DLCX for the given connection. * \param ci Connection identifier as obtained from osmo_mgcpc_ep_ci_add(). diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 34717e9..2259788 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -697,6 +697,14 @@ } +/* Return the osmo_mgcpc_ep that this conn belongs to. */ +struct osmo_mgcpc_ep *osmo_mgcpc_ep_ci_ep(struct osmo_mgcpc_ep_ci *conn) +{ + if (!conn) + return NULL; + return conn->ep; +} + static int send_verb(struct osmo_mgcpc_ep_ci *ci) { int rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I14f7a46031327fb2b2047b998eae6ad0bb7324ad Gerrit-Change-Number: 15899 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 Oct 30 02:58:41 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 30 Oct 2019 02:58:41 +0000 Subject: Change in osmo-hlr[master]: fix double free in osmo_gsup_client_enc_send() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15900 ) Change subject: fix double free in osmo_gsup_client_enc_send() ...................................................................... fix double free in osmo_gsup_client_enc_send() Change-Id: Iee675fd498ab0867ac2411d9142358f513276182 --- M src/gsupclient/gsup_client.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/00/15900/1 diff --git a/src/gsupclient/gsup_client.c b/src/gsupclient/gsup_client.c index c8408fd..814d5a2 100644 --- a/src/gsupclient/gsup_client.c +++ b/src/gsupclient/gsup_client.c @@ -386,7 +386,8 @@ rc = osmo_gsup_client_send(gsupc, gsup_msgb); if (rc) { LOGP(DLGSUP, LOGL_ERROR, "Couldn't send GSUP message\n"); - goto error; + /* Do not free, osmo_gsup_client_send() already has. */ + return rc; } return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iee675fd498ab0867ac2411d9142358f513276182 Gerrit-Change-Number: 15900 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Wed Oct 30 06:52:27 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 30 Oct 2019 06:52:27 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#553?= In-Reply-To: <586615280.754.1572331947557.JavaMail.jenkins@jenkins.osmocom.org> References: <586615280.754.1572331947557.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1727876123.798.1572418347034.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.64 KB...] 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: /known_hosts: Permission denied Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE Not sending mail to unregistered user jsteiger at sysmocom.de From gerrit-no-reply at lists.osmocom.org Wed Oct 30 07:42:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Oct 2019 07:42:16 +0000 Subject: Change in osmo-hlr[master]: fix double free in osmo_gsup_client_enc_send() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15900 ) Change subject: fix double free in osmo_gsup_client_enc_send() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iee675fd498ab0867ac2411d9142358f513276182 Gerrit-Change-Number: 15900 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 30 Oct 2019 07:42: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 Oct 30 07:44:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Oct 2019 07:44:58 +0000 Subject: Change in osmo-mgw[master]: accept MGCP without SDP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15840 ) Change subject: accept MGCP without SDP ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I608001626459ea72415fb142f857550bbb90c683 Gerrit-Change-Number: 15840 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 07: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 Oct 30 07:55:41 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 30 Oct 2019 07:55:41 +0000 Subject: Change in docker-playground[master]: repo-install-test: disable osmo-ggsn service References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15901 ) Change subject: repo-install-test: disable osmo-ggsn service ...................................................................... repo-install-test: disable osmo-ggsn service OsmoGGSN is not able to use the tun4 device from the default config in docker. Since the more strict config checking in [1], it does not just report a warning, but fails to start: <0002> ggsn.c:189 APN(internet): Opening TUN device tun4 <0001> tun.c:184 errno=2/No such file or directory open() failed <0002> ggsn.c:191 APN(internet): Failed to configure tun device Error occurred during reading the below line: no shutdown Failed to open config file: '/etc/osmocom/osmo-ggsn.cfg' Fix the repo install test jenkins job by not checking osmo-ggsn anymore. In theory, we could probably create the tun device on the host, and mount it inside the docker container. But that would require some additional logic to clean it up properly, and it does not seem worth the effort right now. [1] libosmocore Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 --- M debian-repo-install-test/testdata/repo-install-test.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/01/15901/1 diff --git a/debian-repo-install-test/testdata/repo-install-test.sh b/debian-repo-install-test/testdata/repo-install-test.sh index 4fae488..63e1819 100755 --- a/debian-repo-install-test/testdata/repo-install-test.sh +++ b/debian-repo-install-test/testdata/repo-install-test.sh @@ -4,10 +4,10 @@ # Disabled services: # * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108) # * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108) +# * osmo-ggsn (no tun device in docker) SERVICES=" osmo-bsc osmo-gbproxy - osmo-ggsn osmo-gtphub osmo-hlr osmo-mgw -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 Gerrit-Change-Number: 15901 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 Oct 30 07:58:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 30 Oct 2019 07:58:22 +0000 Subject: Change in docker-playground[master]: repo-install-test: disable osmo-ggsn service In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15901 ) Change subject: repo-install-test: disable osmo-ggsn service ...................................................................... Patch Set 1: Here's the failing job: https://jenkins.osmocom.org/jenkins/job/Osmocom-Debian-install-nightly/417/console -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 Gerrit-Change-Number: 15901 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 07:58: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 Oct 30 08:00:18 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 30 Oct 2019 08:00:18 +0000 Subject: Change in docker-playground[master]: repo-install-test: disable osmo-ggsn service In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15901 ) Change subject: repo-install-test: disable osmo-ggsn service ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 Gerrit-Change-Number: 15901 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 08: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 Wed Oct 30 08:08:17 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Oct 2019 08:08:17 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15886 ) Change subject: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 Gerrit-Change-Number: 15886 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 08:08: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 Wed Oct 30 08:09:11 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Oct 2019 08:09:11 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15886 ) Change subject: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 Gerrit-Change-Number: 15886 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 08:09: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 Wed Oct 30 08:09:15 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Oct 2019 08:09:15 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15886 ) Change subject: osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) ...................................................................... osmo-bsc.cfg: remove obsolete logging categories (cc, mgcp) The logging categories cc and mgcp are obsolete. The tests still contain logging statements with those categories, which makes osmo-bsc terminate during startup while parsing the configuration file. Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 3 files changed, 0 insertions(+), 6 deletions(-) Approvals: dexter: Verified laforge: Looks good to me, approved daniel: Looks good to me, approved diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 2f6ab99..beee66b 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -15,7 +15,6 @@ logging print extended-timestamp 1 logging level all everything logging level rll notice - logging level cc notice logging level mm notice logging level rr notice logging level rsl notice @@ -23,7 +22,6 @@ logging level pag notice logging level meas notice logging level msc notice - logging level mgcp notice logging level ho notice logging level ref notice logging level nat notice diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index fb0600a..326a5c0 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -15,7 +15,6 @@ logging print extended-timestamp 1 logging level all everything logging level rll notice - logging level cc notice logging level mm notice logging level rr notice logging level rsl notice @@ -23,7 +22,6 @@ logging level pag notice logging level meas notice logging level msc notice - logging level mgcp notice logging level ho notice logging level ref notice logging level nat notice diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 8b04f4a..18bc9d2 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -16,7 +16,6 @@ logging print file 1 logging level all everything logging level rll info - logging level cc notice logging level mm notice logging level rr notice logging level rsl debug @@ -24,7 +23,6 @@ logging level pag notice logging level meas notice logging level msc debug - logging level mgcp notice logging level ho notice logging level hodec notice logging level ref notice -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751 Gerrit-Change-Number: 15886 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Wed Oct 30 08:21:41 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 30 Oct 2019 08:21:41 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-simtrace2_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#554?= In-Reply-To: <1727876123.798.1572418347034.JavaMail.jenkins@jenkins.osmocom.org> References: <1727876123.798.1572418347034.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <851000730.800.1572423701327.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 157.71 KB...] 1216 0 521 1737 6c9 obj/owhw/dfu_uart_console.o 731 184 0 915 393 obj/owhw/dfu_led.o 8 0 0 8 8 obj/owhw/dfu_boardver_adc.o 30 16 0 46 2e obj/owhw/dfu_manifest.o 239 0 0 239 ef obj/owhw/dfu_owhw.o 1472 1 0 1473 5c1 obj/owhw/dfu_main.o 244 0 0 244 f4 obj/owhw/dfu_dfu.o 645 4 6 655 28f obj/owhw/dfu_dfu_runtime.o 3490 0 208 3698 e72 obj/owhw/dfu_card_emu.o 0 0 0 0 0 obj/owhw/dfu_cciddriver.o 2629 12 4 2645 a55 obj/owhw/dfu_iso7816_4.o 96 0 0 96 60 obj/owhw/dfu_iso7816_fidi.o 0 0 0 0 0 obj/owhw/dfu_mitm.o 2308 1152 0 3460 d84 obj/owhw/dfu_mode_cardemu.o 0 0 0 0 0 obj/owhw/dfu_mode_ccid.o 352 0 520 872 368 obj/owhw/dfu_simtrace_iso7816.o 0 0 0 0 0 obj/owhw/dfu_sniffer.o 488 40 0 528 210 obj/owhw/dfu_tc_etu.o 832 120 84 1036 40c obj/owhw/dfu_usb.o 26368 0 18072 44440 ad98 bin/owhw-cardem-dfu.elf =============== owhw / cardem RES:0 ============== =============== FIRMWARE TESTS =========== cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu_tests.hobj -c card_emu_tests.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from card_emu_tests.c:4: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ card_emu_tests.c: In function ?get_and_verify_rctx?: card_emu_tests.c:171:34: warning: unused variable ?td? [-Wunused-variable] struct cardemu_usb_msg_tx_data *td; ^~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o card_emu.hobj -c ../libcommon/source/card_emu.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../atmel_softpack_libraries/libchip_sam3s/include/trace.h:70, from ../libcommon/include/assert.h:60, from ../libcommon/source/card_emu.c:21: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ In file included from ../libcommon/source/card_emu.c:27:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ ../libcommon/source/card_emu.c: In function ?flush_rx_buffer?: ../libcommon/source/card_emu.c:279:11: warning: unused variable ?data_len? [-Wunused-variable] uint32_t data_len; ^~~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o usb_buf.hobj -c ../libcommon/source/usb_buf.c In file included from ../libboard/common/include/board_common.h:24:0, from ../libboard/simtrace/include/board.h:21, from ../libcommon/source/usb_buf.c:17: ../atmel_softpack_libraries/libchip_sam3s/chip.h:11:6: warning: #warning Library does not support the specified chip, specifying sam3s4. [-Wcpp] #warning Library does not support the specified chip, specifying sam3s4. ^~~~~~~ cc -g -Wall `pkg-config --cflags libosmocore` -I../src_simtrace -I../atmel_softpack_libraries/libchip_sam3s -I../atmel_softpack_libraries/libchip_sam3s/cmsis -I../atmel_softpack_libraries/libchip_sam3s/include -I../atmel_softpack_libraries/usb/include -I../libcommon/include -I../libboard/common/include -I../libboard/simtrace/include -I. -o iso7816_fidi.hobj -c ../libcommon/source/iso7816_fidi.c In file included from ../libcommon/source/iso7816_fidi.c:22:0: ../libcommon/include/utils.h:31:2: warning: #warning "local_irq_{save,restore}() not implemented" [-Wcpp] #warning "local_irq_{save,restore}() not implemented" ^~~~~~~ cc `pkg-config --libs libosmocore` -o card_emu_test card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj tc_etu_init(tc_chan=23) -I- 0: ATR set: 3b 02 14 50 -I- 0: VCC activated uart_enable(uart_chan=42, OFF) -I- 0: CLK activated uart_enable(uart_chan=42, OFF) -I- 0: RST released tc_etu_enable(tc_chan=23) -I- 0: computed Fi(1) Di(1) ratio: 372 uart_update_fidi(uart_chan=42, fidi=372) tc_etu_set_etu(tc_chan=23, etu=372) tc_etu_set_wtime(tc_chan=23, wtime=2) tc_etu_enable(tc_chan=23) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, TX) uart_interrupt(uart_chan=42) receiving + verifying ATR: UART_TX(3b) UART_TX(02) UART_TX(14) UART_TX(50) tc_etu_set_wtime(tc_chan=23, wtime=9600) uart_enable(uart_chan=42, RX) UART_RX(ff) UART_RX(10) UART_RX(00) UART_RX(ef) uart_enable(uart_chan=42, TX) [L1]> 01 07 00 00 00 00 15 00 [L2]> 04 ff 10 00 ef 00 00 ff 10 00 ef 00 00 UART_TX(ff) UART_TX(10) UART_TX(00) UART_TX(ef) -I- 0: computed FiDi ration -22 unsupported uart_enable(uart_chan=42, RX) ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-remsim.o -c simtrace2-remsim.c simtrace2-remsim.c: In function ?main?: simtrace2-remsim.c:598:6: warning: variable ?skip_atr? set but not used [-Wunused-but-set-variable] int skip_atr = 0; ^~~~~~~~ At top level: simtrace2-remsim.c:389:12: warning: ?process_do_error? defined but not used [-Wunused-function] static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) ^~~~~~~~~~~~~~~~ simtrace2-remsim.c:89:12: warning: ?gsmtap_send_sim? defined but not used [-Wunused-function] static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) ^~~~~~~~~~~~~~~ cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o apdu_dispatch.o -c apdu_dispatch.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-discovery.o -c simtrace2-discovery.c cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o libusb_util.o -c libusb_util.c cc -o simtrace2-remsim simtrace2-remsim.o apdu_dispatch.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread `pkg-config --libs libosmosim libpcsclite` cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o usb2udp.o -c usb2udp.c cc -o simtrace2-remsim-usb2udp usb2udp.o simtrace2-discovery.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2_usb.o -c simtrace2_usb.c cc -o simtrace2-list simtrace2_usb.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread cc -Wall -g `pkg-config --cflags libusb-1.0 libosmocore` -o simtrace2-sniff.o -c simtrace2-sniff.c cc -o simtrace2-sniff simtrace2-sniff.o simtrace2-discovery.o libusb_util.o `pkg-config --libs libusb-1.0 libosmocore` -pthread =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 61: : No such file or directory Build step 'Execute shell' marked build as failure [WARNINGS] Skipping publisher since build result is FAILURE Not sending mail to unregistered user jsteiger at sysmocom.de From gerrit-no-reply at lists.osmocom.org Wed Oct 30 08:30:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 08:30:53 +0000 Subject: Change in simtrace2[master]: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/15902 ) Change subject: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) ...................................................................... Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) Change-Id: I5dfb22199727d424d83584f58c6517c80573e880 Related: OS#4243 --- M contrib/jenkins.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/02/15902/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 202339c..b85e4b3 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -58,12 +58,12 @@ echo echo "=============== UPLOAD BUILD ==============" - cat > "$WORKSPACE/known_hosts" < "/build/known_hosts" < Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 30 08:30:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 08:30:54 +0000 Subject: Change in simtrace2[master]: firmare/test/Makefile: Fix link order References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/15903 ) Change subject: firmare/test/Makefile: Fix link order ...................................................................... firmare/test/Makefile: Fix link order Change-Id: I3ee8031f2823ad0817cb469526b1edfc0230b26b --- M firmware/test/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/03/15903/1 diff --git a/firmware/test/Makefile b/firmware/test/Makefile index d4c543a..4341c92 100644 --- a/firmware/test/Makefile +++ b/firmware/test/Makefile @@ -11,12 +11,12 @@ -I../libboard/common/include \ -I../libboard/simtrace/include \ -I. -LDFLAGS=$(LIBOSMOCORE_LIBS) +LIBS=$(LIBOSMOCORE_LIBS) VPATH=../src_simtrace ../libcommon/source card_emu_test: card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj - $(CC) $(LDFLAGS) -o $@ $^ + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) %.hobj: %.c $(CC) $(CFLAGS) -o $@ -c $^ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3ee8031f2823ad0817cb469526b1edfc0230b26b Gerrit-Change-Number: 15903 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 Oct 30 09:08:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:08:41 +0000 Subject: Change in simtrace2[master]: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15902 ) Change subject: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5dfb22199727d424d83584f58c6517c80573e880 Gerrit-Change-Number: 15902 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 30 Oct 2019 09: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 Wed Oct 30 09:08:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:08:42 +0000 Subject: Change in simtrace2[master]: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15902 ) Change subject: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) ...................................................................... Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) Change-Id: I5dfb22199727d424d83584f58c6517c80573e880 Related: OS#4243 --- M contrib/jenkins.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 202339c..b85e4b3 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -58,12 +58,12 @@ echo echo "=============== UPLOAD BUILD ==============" - cat > "$WORKSPACE/known_hosts" < "/build/known_hosts" < 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 Wed Oct 30 09:08:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:08:55 +0000 Subject: Change in simtrace2[master]: firmare/test/Makefile: Fix link order In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15903 ) Change subject: firmare/test/Makefile: Fix link order ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3ee8031f2823ad0817cb469526b1edfc0230b26b Gerrit-Change-Number: 15903 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Oct 2019 09:08: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 Wed Oct 30 09:08:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:08:56 +0000 Subject: Change in simtrace2[master]: firmare/test/Makefile: Fix link order In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15903 ) Change subject: firmare/test/Makefile: Fix link order ...................................................................... firmare/test/Makefile: Fix link order Change-Id: I3ee8031f2823ad0817cb469526b1edfc0230b26b --- M firmware/test/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/test/Makefile b/firmware/test/Makefile index d4c543a..4341c92 100644 --- a/firmware/test/Makefile +++ b/firmware/test/Makefile @@ -11,12 +11,12 @@ -I../libboard/common/include \ -I../libboard/simtrace/include \ -I. -LDFLAGS=$(LIBOSMOCORE_LIBS) +LIBS=$(LIBOSMOCORE_LIBS) VPATH=../src_simtrace ../libcommon/source card_emu_test: card_emu_tests.hobj card_emu.hobj usb_buf.hobj iso7816_fidi.hobj - $(CC) $(LDFLAGS) -o $@ $^ + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) %.hobj: %.c $(CC) $(CFLAGS) -o $@ -c $^ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3ee8031f2823ad0817cb469526b1edfc0230b26b Gerrit-Change-Number: 15903 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 Wed Oct 30 09:11:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:11:43 +0000 Subject: Change in docker-playground[master]: repo-install-test: disable osmo-ggsn service In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15901 ) Change subject: repo-install-test: disable osmo-ggsn service ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 Gerrit-Change-Number: 15901 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 09:11:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Wed Oct 30 09:12:36 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 30 Oct 2019 09:12:36 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal?= =?UTF-8?Q?_:_master-simtrace2_=C2=BB_a1=3Ddefaul?= =?UTF-8?Q?t,a2=3Ddefault,a3=3Ddefault,a4=3Ddefa?= =?UTF-8?Q?ult,osmocom-master-debian9_#555?= In-Reply-To: <851000730.800.1572423701327.JavaMail.jenkins@jenkins.osmocom.org> References: <851000730.800.1572423701327.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <394519297.806.1572426756554.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Wed Oct 30 09:12:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:12:43 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: add notify struct, prep for cancel-notify In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15897 ) Change subject: client: endp fsm: add notify struct, prep for cancel-notify ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47c0dd112011b8cb4dc88e8efd010466d4ba6308 Gerrit-Change-Number: 15897 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Oct 2019 09: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 Wed Oct 30 09:13:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:13:04 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: clear ci[] before dispatching DLCX success In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15898 ) Change subject: client: endp fsm: clear ci[] before dispatching DLCX success ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2032e5566e465c02a9a525ccd38f9dcc84fb669 Gerrit-Change-Number: 15898 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Oct 2019 09:13: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 Wed Oct 30 09:13:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:13:24 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: allow cancelling a notify event In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15838 ) Change subject: client: endp fsm: allow cancelling a notify event ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d Gerrit-Change-Number: 15838 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 09:13: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 Oct 30 09:13:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 09:13:43 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: add osmo_mgcpc_ep_ci_ep() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15899 ) Change subject: client: endp fsm: add osmo_mgcpc_ep_ci_ep() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I14f7a46031327fb2b2047b998eae6ad0bb7324ad Gerrit-Change-Number: 15899 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Oct 2019 09:13: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 Oct 30 09:15:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 30 Oct 2019 09:15:08 +0000 Subject: Change in simtrace2[master]: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15902 ) Change subject: Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5dfb22199727d424d83584f58c6517c80573e880 Gerrit-Change-Number: 15902 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 30 Oct 2019 09: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 Wed Oct 30 11:00:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 11:00:04 +0000 Subject: Change in docker-playground[master]: osmo-stp-test: Ensure we build the laforge/stp branch References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15904 ) Change subject: osmo-stp-test: Ensure we build the laforge/stp branch ...................................................................... osmo-stp-test: Ensure we build the laforge/stp branch Change-Id: I2cf300eb37b327450da0f8b20ee209a6109bf8fe Related: OS#4220 --- M ttcn3-stp-test/Makefile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/04/15904/1 diff --git a/ttcn3-stp-test/Makefile b/ttcn3-stp-test/Makefile index cbcd544..76fdbfc 100644 --- a/ttcn3-stp-test/Makefile +++ b/ttcn3-stp-test/Makefile @@ -1,3 +1,4 @@ RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.2.202 -v ggsn-test-vol:/data +OSMO_TTCN3_BRANCH="laforge/stp" include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf300eb37b327450da0f8b20ee209a6109bf8fe Gerrit-Change-Number: 15904 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 Oct 30 11:00:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 11:00:35 +0000 Subject: Change in docker-playground[master]: osmo-stp-test: Ensure we build the laforge/stp branch In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15904 ) Change subject: osmo-stp-test: Ensure we build the laforge/stp branch ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf300eb37b327450da0f8b20ee209a6109bf8fe Gerrit-Change-Number: 15904 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:00: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 Wed Oct 30 11:00:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 11:00:37 +0000 Subject: Change in docker-playground[master]: osmo-stp-test: Ensure we build the laforge/stp branch In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15904 ) Change subject: osmo-stp-test: Ensure we build the laforge/stp branch ...................................................................... osmo-stp-test: Ensure we build the laforge/stp branch Change-Id: I2cf300eb37b327450da0f8b20ee209a6109bf8fe Related: OS#4220 --- M ttcn3-stp-test/Makefile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-stp-test/Makefile b/ttcn3-stp-test/Makefile index cbcd544..76fdbfc 100644 --- a/ttcn3-stp-test/Makefile +++ b/ttcn3-stp-test/Makefile @@ -1,3 +1,4 @@ RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.2.202 -v ggsn-test-vol:/data +OSMO_TTCN3_BRANCH="laforge/stp" include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf300eb37b327450da0f8b20ee209a6109bf8fe Gerrit-Change-Number: 15904 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Oct 30 11:05:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 11:05:51 +0000 Subject: Change in docker-playground[master]: stp: don't only execute STP_Tests.control, but also M3UA and IPA References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15905 ) Change subject: stp: don't only execute STP_Tests.control, but also M3UA and IPA ...................................................................... stp: don't only execute STP_Tests.control, but also M3UA and IPA Change-Id: Icc7d168dc90d3551d27c1be27c50d66dd84f0a50 Related: OS4220 --- M ttcn3-stp-test/STP_Tests.cfg 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/05/15905/1 diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index f41aded..ec95058 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -17,4 +17,6 @@ [MAIN_CONTROLLER] [EXECUTE] +STP_Tests_M3UA.control +STP_Tests_IPA.control STP_Tests.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icc7d168dc90d3551d27c1be27c50d66dd84f0a50 Gerrit-Change-Number: 15905 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 Oct 30 11:06:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 11:06:11 +0000 Subject: Change in docker-playground[master]: stp: don't only execute STP_Tests.control, but also M3UA and IPA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15905 ) Change subject: stp: don't only execute STP_Tests.control, but also M3UA and IPA ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icc7d168dc90d3551d27c1be27c50d66dd84f0a50 Gerrit-Change-Number: 15905 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:06: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 Wed Oct 30 11:06:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 11:06:18 +0000 Subject: Change in docker-playground[master]: stp: don't only execute STP_Tests.control, but also M3UA and IPA In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15905 ) Change subject: stp: don't only execute STP_Tests.control, but also M3UA and IPA ...................................................................... stp: don't only execute STP_Tests.control, but also M3UA and IPA Change-Id: Icc7d168dc90d3551d27c1be27c50d66dd84f0a50 Related: OS4220 --- M ttcn3-stp-test/STP_Tests.cfg 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index f41aded..ec95058 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -17,4 +17,6 @@ [MAIN_CONTROLLER] [EXECUTE] +STP_Tests_M3UA.control +STP_Tests_IPA.control STP_Tests.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icc7d168dc90d3551d27c1be27c50d66dd84f0a50 Gerrit-Change-Number: 15905 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Oct 30 11:22:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:22:28 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:22: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 Oct 30 11:23:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:23:35 +0000 Subject: Change in osmo-msc[master]: also log MNCC_SETUP_REQ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15845 ) Change subject: also log MNCC_SETUP_REQ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 Gerrit-Change-Number: 15845 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:23: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 Wed Oct 30 11:24:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:24:36 +0000 Subject: Change in osmo-msc[master]: BSSMAP log tweak In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15846 ) Change subject: BSSMAP log tweak ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 Gerrit-Change-Number: 15846 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:24: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 Oct 30 11:42:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:42:49 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 3: > (If I could go back, I would actually undo osmo_fsm_term_safely() and rather use this more elegant solution instead.) You can still go back if you think it's needed, it was not yet released as far as I know. > If you doubt the necessity of solving these problems I'm not saying these problems don't exist or don't need to be solved, I'm just saying I'm not liking the approaches I see are being taken here. I still have the feeling it be better fixing it by adding delete_cb or passing some specific return codes somewhere like we do with -EBADF during read_cb() in other libosmocore APIs. But since I cannot spend time on this, go ahead with merging this if you think it's really the best or only way. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:42: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 Wed Oct 30 11:45:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:45:28 +0000 Subject: Change in libosmocore[master]: fsm: refuse state chg and events after term In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15896 ) Change subject: fsm: refuse state chg and events after term ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia81a0892f710db86bd977462730b69f0dcc78f8c Gerrit-Change-Number: 15896 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:45: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 Oct 30 11:46:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:46:35 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_set_term_stops_actions() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15833 ) Change subject: fsm: add osmo_fsm_set_term_stops_actions() ...................................................................... Patch Set 2: Indeed, I personally prefer the other way to apply it always, it makes more sense from point of view of user too. So I'd prefer the other patch being merged instead. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0adc13a1a998e953b6c850efa2761350dd07e03a Gerrit-Change-Number: 15833 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:46: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 Wed Oct 30 11:47:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:47:37 +0000 Subject: Change in osmo-hlr[master]: fix double free in osmo_gsup_client_enc_send() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15900 ) Change subject: fix double free in osmo_gsup_client_enc_send() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iee675fd498ab0867ac2411d9142358f513276182 Gerrit-Change-Number: 15900 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:47: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 Oct 30 11:49:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:49:26 +0000 Subject: Change in docker-playground[master]: repo-install-test: disable osmo-ggsn service In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15901 ) Change subject: repo-install-test: disable osmo-ggsn service ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 Gerrit-Change-Number: 15901 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:49: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 Oct 30 11:52:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:52:37 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: clear ci[] before dispatching DLCX success In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15898 ) Change subject: client: endp fsm: clear ci[] before dispatching DLCX success ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2032e5566e465c02a9a525ccd38f9dcc84fb669 Gerrit-Change-Number: 15898 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:52: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 Oct 30 11:54:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:54:55 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: allow cancelling a notify event In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15838 ) Change subject: client: endp fsm: allow cancelling a notify event ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d Gerrit-Change-Number: 15838 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:54: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 Wed Oct 30 11:56:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:56:09 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: add osmo_mgcpc_ep_ci_ep() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15899 ) Change subject: client: endp fsm: add osmo_mgcpc_ep_ci_ep() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I14f7a46031327fb2b2047b998eae6ad0bb7324ad Gerrit-Change-Number: 15899 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:56: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 Oct 30 11:58:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:58:15 +0000 Subject: Change in docker-playground[master]: osmo-stp-test: Ensure we build the laforge/stp branch In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15904 ) Change subject: osmo-stp-test: Ensure we build the laforge/stp branch ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf300eb37b327450da0f8b20ee209a6109bf8fe Gerrit-Change-Number: 15904 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:58: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 Wed Oct 30 11:58:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 11:58:26 +0000 Subject: Change in docker-playground[master]: stp: don't only execute STP_Tests.control, but also M3UA and IPA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15905 ) Change subject: stp: don't only execute STP_Tests.control, but also M3UA and IPA ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icc7d168dc90d3551d27c1be27c50d66dd84f0a50 Gerrit-Change-Number: 15905 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 11:58: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 Oct 30 12:17:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:17:42 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... Patch Set 3: Code-Review+2 I trust Neels here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 12:17: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 Wed Oct 30 12:18:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:18:04 +0000 Subject: Change in libosmocore[master]: fsm: refuse state chg and events after term In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15896 ) Change subject: fsm: refuse state chg and events after term ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia81a0892f710db86bd977462730b69f0dcc78f8c Gerrit-Change-Number: 15896 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 12:18: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 Wed Oct 30 12:18:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:18:06 +0000 Subject: Change in libosmocore[master]: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15677 ) Change subject: add osmo_fsm_set_dealloc_ctx(), to help with use-after-free ...................................................................... add osmo_fsm_set_dealloc_ctx(), to help with use-after-free This is a simpler and more general solution to the problem so far solved by osmo_fsm_term_safely(true). This extends use-after-free fixes to arbitrary functions, not only FSM instances during termination. The aim is to defer talloc_free() until back in the main loop. Rationale: I discovered an osmo-msc use-after-free crash from an invalid message, caused by this pattern: void event_action() { osmo_fsm_inst_dispatch(foo, FOO_EVENT, NULL); osmo_fsm_inst_dispatch(bar, BAR_EVENT, NULL); } Usually, FOO_EVENT takes successful action, and afterwards we also notify bar. However, in this particular case, FOO_EVENT caused failure, and the immediate error handling directly terminated and deallocated bar. In such a case, dispatching BAR_EVENT causes a use-after-free; this constituted a DoS vector just from sending messages that cause *any* failure during the first event dispatch. Instead, when this is enabled, we do not deallocate 'foo' until event_action() has returned back to the main loop. Test: duplicate fsm_dealloc_test.c using this, and print the number of items deallocated in each test loop, to ensure the feature works. We also verify that the deallocation safety works simply by fsm_dealloc_test.c not crashing. We should probably follow up by refusing event dispatch and state transitions for FSM instances that are terminating or already terminated: see I0adc13a1a998e953b6c850efa2761350dd07e03a. Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 --- M include/osmocom/core/fsm.h M src/fsm.c M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err 4 files changed, 3,511 insertions(+), 29 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/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 1701c45..269befa 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -122,6 +122,7 @@ void osmo_fsm_log_addr(bool log_addr); void osmo_fsm_log_timeouts(bool log_timeouts); void osmo_fsm_term_safely(bool term_safely); +void osmo_fsm_set_dealloc_ctx(void *ctx); /*! Log using FSM instance's context, on explicit logging subsystem and level. * \param fi An osmo_fsm_inst. diff --git a/src/fsm.c b/src/fsm.c index c886351..6aad37a 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -102,8 +102,20 @@ unsigned int depth; /*! Talloc context to collect all deferred deallocations (FSM instances, and talloc objects if any). */ void *collect_ctx; + /*! See osmo_fsm_set_dealloc_ctx() */ + void *fsm_dealloc_ctx; } fsm_term_safely; +/*! Internal call to free an FSM instance, which redirects to the context set by osmo_fsm_set_dealloc_ctx() if any. + */ +static void fsm_free_or_steal(void *talloc_object) +{ + if (fsm_term_safely.fsm_dealloc_ctx) + talloc_steal(fsm_term_safely.fsm_dealloc_ctx, talloc_object); + else + talloc_free(talloc_object); +} + /*! specify if FSM instance addresses should be logged or not * * By default, the FSM name includes the pointer address of the \ref @@ -139,11 +151,9 @@ /*! Enable safer way to deallocate cascades of terminating FSM instances. * - * For legacy compatibility, this is disabled by default. In newer programs / releases, it is recommended to enable this - * feature during main() startup, since it greatly simplifies deallocating child, parent and other FSM instances without - * running into double-free or use-after-free scenarios. When enabled, this feature changes the order of logging, which - * may break legacy unit test expectations, and changes the order of deallocation to after the parent term event is - * dispatched. + * Note, using osmo_fsm_set_dealloc_ctx() is a more general solution to this same problem. + * Particularly, in a program using osmo_select_main_ctx(), the simplest solution to avoid most use-after-free problems + * from FSM instance deallocation is using osmo_fsm_set_dealloc_ctx(OTC_SELECT). * * When enabled, an FSM instance termination detects whether another FSM instance is already terminating, and instead of * deallocating immediately, collects all terminating FSM instances in a talloc context, to be bulk deallocated once all @@ -155,6 +165,9 @@ * * For illustration, see fsm_dealloc_test.c. * + * When enabled, this feature changes the order of logging, which may break legacy unit test expectations, and changes + * the order of deallocation to after the parent term event is dispatched. + * * \param[in] term_safely Pass true to switch to safer FSM instance termination behavior. */ void osmo_fsm_term_safely(bool term_safely) @@ -162,6 +175,31 @@ fsm_term_safely_enabled = term_safely; } +/*! Instead of deallocating FSM instances, move them to the given talloc context. + * + * It is the caller's responsibility to clear this context to actually free the memory of terminated FSM instances. + * Make sure to not talloc_free(ctx) itself before setting a different osmo_fsm_set_dealloc_ctx(). To clear a ctx + * without the need to call osmo_fsm_set_dealloc_ctx() again, rather use talloc_free_children(ctx). + * + * For example, to defer deallocation to the next osmo_select_main_ctx() iteration, set this to OTC_SELECT. + * + * Deferring deallocation is the simplest solution to avoid most use-after-free problems from FSM instance deallocation. + * This is a simpler and more general solution than osmo_fsm_term_safely(). + * + * To disable the feature again, pass NULL as ctx. + * + * Both osmo_fsm_term_safely() and osmo_fsm_set_dealloc_ctx() can be enabled at the same time, which will result in + * first collecting deallocated FSM instances in fsm_term_safely.collect_ctx, and finally reparenting that to the ctx + * passed here. However, in practice, it does not really make sense to enable both at the same time. + * + * \param ctx[in] Instead of talloc_free()int, talloc_steal() all future deallocated osmo_fsm_inst instances to this + * ctx. If NULL, go back to talloc_free() as usual. + */ +void osmo_fsm_set_dealloc_ctx(void *ctx) +{ + fsm_term_safely.fsm_dealloc_ctx = ctx; +} + /*! talloc_free() the given object immediately, or once ongoing FSM terminations are done. * * If an FSM deallocation cascade is ongoing, talloc_steal() the given talloc_object into the talloc context that is @@ -185,7 +223,7 @@ static void osmo_fsm_defer_free(void *talloc_object) { if (!fsm_term_safely.depth) { - talloc_free(talloc_object); + fsm_free_or_steal(talloc_object); return; } @@ -412,7 +450,7 @@ osmo_timer_setup(&fi->timer, fsm_tmr_cb, fi); if (osmo_fsm_inst_update_id(fi, id) < 0) { - talloc_free(fi); + fsm_free_or_steal(fi); return NULL; } @@ -529,11 +567,11 @@ * deallocate separately to avoid use-after-free errors, put it in there and deallocate all at once. */ LOGPFSM(fi, "Deallocated, including all deferred deallocations\n"); osmo_fsm_defer_free(fi); - talloc_free(fsm_term_safely.collect_ctx); + fsm_free_or_steal(fsm_term_safely.collect_ctx); fsm_term_safely.collect_ctx = NULL; } else { LOGPFSM(fi, "Deallocated\n"); - talloc_free(fi); + fsm_free_or_steal(fi); } fsm_term_safely.root_fi = NULL; } diff --git a/tests/fsm/fsm_dealloc_test.c b/tests/fsm/fsm_dealloc_test.c index ce49205..9a6974d 100644 --- a/tests/fsm/fsm_dealloc_test.c +++ b/tests/fsm/fsm_dealloc_test.c @@ -355,7 +355,7 @@ osmo_fsm_inst_term(obj->fi, OSMO_FSM_TERM_REGULAR, NULL); } -void test_dealloc(enum objname trigger, bool by_destroy_event) +void test_dealloc(enum objname trigger, bool by_destroy_event, void *loop_ctx) { struct scene *s = scene_alloc(); const char *label = by_destroy_event ? "destroy-event" : "term"; @@ -383,16 +383,63 @@ LOGP(DLGLOBAL, LOGL_DEBUG, "--- %d objects remain. cleaning up\n", remain); } else LOGP(DLGLOBAL, LOGL_DEBUG, "--- all deallocated.\n"); + + if (loop_ctx) { + fprintf(stderr, "*** loop_ctx contains %zu blocks, deallocating.\n", + talloc_total_blocks(loop_ctx)); + talloc_free_children(loop_ctx); + } + + /* Silently free the remaining objects. */ scene_clean(s); + if (loop_ctx) + talloc_free_children(loop_ctx); +} + +static void trigger_tests(void *loop_ctx) +{ + size_t ctx_blocks; + size_t ctx_size; + enum objname trigger; + int by_destroy_event; + + ctx_blocks = talloc_total_blocks(ctx); + ctx_size = talloc_total_size(ctx); + + for (trigger = 0; trigger < scene_size; trigger++) { + for (by_destroy_event = 0; by_destroy_event < 2; by_destroy_event++) { + test_dealloc(trigger, (bool)by_destroy_event, loop_ctx); + + if (ctx_blocks != talloc_total_blocks(ctx) + || ctx_size != talloc_total_size(ctx)) { + talloc_report_full(ctx, stderr); + OSMO_ASSERT(false); + } + } + } +} + +void test_osmo_fsm_term_safely() +{ + fprintf(stderr, "\n\n%s()\n", __func__); + osmo_fsm_term_safely(true); + trigger_tests(NULL); + osmo_fsm_term_safely(false); + fprintf(stderr, "\n\n%s() done\n", __func__); +} + +void test_osmo_fsm_set_dealloc_ctx() +{ + fprintf(stderr, "\n\n%s()\n", __func__); + void *dealloc_ctx = talloc_named_const(ctx, 0, "fsm_dealloc"); + osmo_fsm_set_dealloc_ctx(dealloc_ctx); + trigger_tests(dealloc_ctx); + osmo_fsm_set_dealloc_ctx(NULL); + fprintf(stderr, "\n\n%s() done\n", __func__); } int main(void) { - enum objname trigger; - size_t ctx_blocks; - size_t ctx_size; - int by_destroy_event; - ctx = talloc_named_const(NULL, 0, "main"); osmo_init_logging2(ctx, NULL); @@ -405,22 +452,10 @@ log_set_category_filter(osmo_stderr_target, DLGLOBAL, 1, LOGL_DEBUG); - osmo_fsm_term_safely(true); osmo_fsm_register(&test_fsm); - ctx_blocks = talloc_total_blocks(ctx); - ctx_size = talloc_total_size(ctx); - - for (trigger = 0; trigger < scene_size; trigger++) { - for (by_destroy_event = 0; by_destroy_event < 2; by_destroy_event++) { - test_dealloc(trigger, (bool)by_destroy_event); - if (ctx_blocks != talloc_total_blocks(ctx) - || ctx_size != talloc_total_size(ctx)) { - talloc_report_full(ctx, stderr); - OSMO_ASSERT(false); - } - } - } + test_osmo_fsm_term_safely(); + test_osmo_fsm_set_dealloc_ctx(); talloc_free(ctx); return 0; diff --git a/tests/fsm/fsm_dealloc_test.err b/tests/fsm/fsm_dealloc_test.err index d12c5aa..973f3d4 100644 --- a/tests/fsm/fsm_dealloc_test.err +++ b/tests/fsm/fsm_dealloc_test.err @@ -1,3 +1,6 @@ + + +test_osmo_fsm_term_safely() DLGLOBAL DEBUG scene_alloc() DLGLOBAL DEBUG test(root){alive}: Allocated DLGLOBAL DEBUG test(root){alive}: Allocated @@ -3250,3 +3253,3408 @@ DLGLOBAL DEBUG 0 (-) DLGLOBAL DEBUG --- after destroy-event cascade: DLGLOBAL DEBUG --- all deallocated. + + +test_osmo_fsm_term_safely() done + + +test_osmo_fsm_set_dealloc_ctx() +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at root +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 2 (root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (2*root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (2*root.alive(),__twig1a.cleanup(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 3 (2*root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (root.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (root.alive(),__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 3 (root.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (root.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 7 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 7 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG 6 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 5 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 4 (root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 3 (root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*root.alive(),_branch1.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 3 (2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 2 (root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0 +DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 3 (_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 3 (_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 3 (2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: removing reference _branch0.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[0] = _branch0 +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone( +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.othe +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.clea +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone( +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.chil +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 5 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 3 (_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1] +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig0a.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[1] +DLGLOBAL DEBUG 3 (__twig0a.alive(),__twig0a.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 2 (__twig0a.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig0a.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0a.alive(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig0a.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig0b +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig0b +DLGLOBAL DEBUG test(__twig0b){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig0b.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (__twig0b.alive(),__twig0b.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 2 (__twig0b.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig0b.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig0b.alive(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig0b.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 4 (_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 3 (_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 3 (2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone( +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone( +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 8 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.chil +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 7 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 5 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 3 (_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_bran +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_bran +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 9 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root. +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 8 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 7 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 6 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 4 (__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig1a.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0. +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b. +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b. +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a. +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0 +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a. +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0 +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a. +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0. +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 10 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branc +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 9 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0. +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 8 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 7 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 5 (__twig1a.alive(),__twig1a.cleanup(),2*root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 3 (__twig1a.alive(),__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 2 (__twig1a.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig1a.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.alive(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig1a.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at __twig1b +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 2 (__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 1 (_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at __twig1b +DLGLOBAL DEBUG test(__twig1b){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (__twig1b.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 4 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 3 (__twig1b.alive(),__twig1b.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 2 (__twig1b.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 1 (__twig1b.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1b.alive(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 1 (__twig1b.alive()) +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- 7 objects remain. cleaning up +*** loop_ctx contains 5 blocks, deallocating. +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (__twig1a.cleanup(),_branch1.alive(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 2 (__twig1a.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: removing reference _branch1.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = _branch1 +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 6 (_branch1.cleanup(),2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 7 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 6 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 4 (_branch1.cleanup(),other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 2 (_branch1.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 3 (_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 2 (_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 1 (_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG 1 (root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before term cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- term at other +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 1 (other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 4 (other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 2 (other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 1 (other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 4 (other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 5 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 4 (other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 3 (other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 2 (other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 1 (other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG --- after term cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(root){alive}: Allocated +DLGLOBAL DEBUG test(root){alive}: is child of test(root) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(_branch1){alive}: Allocated +DLGLOBAL DEBUG test(_branch1){alive}: is child of test(_branch1) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG test(_branch1){alive}: _branch1.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = _branch1 +DLGLOBAL DEBUG test(__twig1a){alive}: __twig1a.other[0] = root +DLGLOBAL DEBUG test(root){alive}: root.other[0] = __twig1a +DLGLOBAL DEBUG ------ before destroy-event cascade, got: +DLGLOBAL DEBUG root +DLGLOBAL DEBUG _branch0 +DLGLOBAL DEBUG __twig0a +DLGLOBAL DEBUG __twig0b +DLGLOBAL DEBUG _branch1 +DLGLOBAL DEBUG __twig1a +DLGLOBAL DEBUG __twig1b +DLGLOBAL DEBUG other +DLGLOBAL DEBUG --- +DLGLOBAL DEBUG --- destroy-event at other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_DESTROY +DLGLOBAL DEBUG 1 (other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_DESTROY) +DLGLOBAL DEBUG test(other){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){alive}: pre_term() +DLGLOBAL DEBUG 2 (other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() +DLGLOBAL DEBUG test(other){alive}: scene forgets other +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0b){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0b){alive}: scene forgets __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[1] = __twig0b +DLGLOBAL DEBUG test(_branch0){alive}: still exists: child[0] +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0b.cleanup()) +DLGLOBAL DEBUG test(__twig0b){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup(),other.other_gone()) +DLGLOBAL DEBUG 5 (2*other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup(),_branch0.child_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_CHILD_GONE: Dropped reference _branch0.child[0] = __twig0a +DLGLOBAL DEBUG test(_branch0){alive}: No more children +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(__twig0a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig0a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch0){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() +DLGLOBAL DEBUG test(_branch0){alive}: scene forgets _branch0 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[0] = _branch0 +DLGLOBAL DEBUG test(root){alive}: still exists: child[1] +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup(),root.alive()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),_branch0.cleanup()) +DLGLOBAL DEBUG test(_branch0){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch0){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch0.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 2 (other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: removing reference other.other[1] -> _branch1 +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.other_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_OTHER_GONE: Dropped reference _branch1.other[0] = other +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch1){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1b){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1b){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1b){alive}: scene forgets __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[1] = __twig1b +DLGLOBAL DEBUG test(_branch1){alive}: still exists: child[0] +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1b.cleanup()) +DLGLOBAL DEBUG test(__twig1b){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1b){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1b){alive}: Deallocated +DLGLOBAL DEBUG test(__twig1a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig1a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig1a){alive}: Removing from parent test(_branch1) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig1a){alive}: scene forgets __twig1a +DLGLOBAL DEBUG test(__twig1a){alive}: removing reference __twig1a.other[0] -> root +DLGLOBAL DEBUG test(root){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.other_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_OTHER_GONE: Dropped reference root.other[0] = __twig1a +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(root){alive}: pre_term() +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL ERROR test(root){alive}: Internal error while terminating child FSMs: a child FSM is stuck +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive(),root.cleanup()) +DLGLOBAL DEBUG test(root){alive}: cleanup() +DLGLOBAL DEBUG test(root){alive}: scene forgets root +DLGLOBAL DEBUG test(root){alive}: cleanup() done +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Freeing instance +DLGLOBAL DEBUG test(root){alive}: Deallocated +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup(),_branch1.child_gone()) +DLGLOBAL DEBUG test(_branch1){alive}: EV_CHILD_GONE: Dropped reference _branch1.child[0] = __twig1a +DLGLOBAL DEBUG test(_branch1){alive}: No more children +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),2*_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),__twig1a.cleanup()) +DLGLOBAL DEBUG test(__twig1a){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(__twig1a){alive}: Freeing instance +DLGLOBAL DEBUG test(__twig1a){alive}: Deallocated +DLGLOBAL DEBUG test(_branch1){alive}: Removing from parent test(root) +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() +DLGLOBAL DEBUG test(_branch1){alive}: scene forgets _branch1 +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG 6 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive(),root.child_gone()) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE: Dropped reference root.child[1] = _branch1 +DLGLOBAL DEBUG test(root){alive}: No more children +DLGLOBAL DEBUG 5 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: Ignoring trigger to terminate: already terminating +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),_branch1.cleanup()) +DLGLOBAL DEBUG test(_branch1){alive}: cleanup() done +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG test(_branch1){alive}: Freeing instance +DLGLOBAL DEBUG test(_branch1){alive}: Deallocated +DLGLOBAL DEBUG test(root){alive}: Received Event EV_CHILD_GONE +DLGLOBAL DEBUG 4 (other.alive(),other.cleanup(),_branch1.alive(),root.alive()) +DLGLOBAL DEBUG test(root){alive}: alive(EV_CHILD_GONE) +DLGLOBAL DEBUG test(root){alive}: EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore. +DLGLOBAL DEBUG 3 (other.alive(),other.cleanup(),_branch1.alive()) +DLGLOBAL DEBUG 2 (other.alive(),other.cleanup()) +DLGLOBAL DEBUG test(other){alive}: cleanup() done +DLGLOBAL DEBUG 1 (other.alive()) +DLGLOBAL DEBUG test(other){alive}: Freeing instance +DLGLOBAL DEBUG test(other){alive}: Deallocated +DLGLOBAL DEBUG 0 (-) +DLGLOBAL DEBUG --- after destroy-event cascade: +DLGLOBAL DEBUG --- all deallocated. +*** loop_ctx contains 33 blocks, deallocating. + + +test_osmo_fsm_set_dealloc_ctx() done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 Gerrit-Change-Number: 15677 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Oct 30 12:18:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:18:06 +0000 Subject: Change in libosmocore[master]: fsm: refuse state chg and events after term In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15896 ) Change subject: fsm: refuse state chg and events after term ...................................................................... fsm: refuse state chg and events after term Refuse state changes and event dispatch for FSM instances that are already terminating. It is assumed that refusing state changes and events after FSM termination is seen as the sane expected behavior, hence this change in behavior is merged without being configurable. There is no fallout in current Osmocom code trees. fsm_dealloc_test needs a changed expected output, since it is explicitly creating complex FSM structures that terminate. Currently no other C test in Osmocom code needs adjusting. Rationale: Where multiple FSM instances are collaborating (like in osmo-bsc or osmo-msc), a terminating FSM instance often causes events to be dispatched back to itself, or causes state changes in FSM instances that are already terminating. That is hard to avoid, since each FSM instance could be a cause of failure, and wants to notify all the others of that, which in turn often choose to terminate. Another use case: any function that dispatches events or state changes to more than one FSM instance must be sure that after the first event dispatch, the second FSM instance is in fact still allocated. Furthermore, if the second FSM instance *has* terminated from the first dispatch, this often means that no more actions should be taken. That could be done by an explicit check for fsm->proc.terminating, but a more general solution is to do this check internally in fsm.c. In practice, I need this to avoid a crash in libosmo-mgcp-client, when an on_success() event dispatch causes the MGCP endpoint FSM to deallocate. The earlier dealloc-in-main-loop patch fixed part of it, but not all. Change-Id: Ia81a0892f710db86bd977462730b69f0dcc78f8c --- M src/fsm.c M tests/fsm/fsm_dealloc_test.err 2 files changed, 307 insertions(+), 1,996 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia81a0892f710db86bd977462730b69f0dcc78f8c Gerrit-Change-Number: 15896 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Wed Oct 30 12:18:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:18:57 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: clear ci[] before dispatching DLCX success In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15898 ) Change subject: client: endp fsm: clear ci[] before dispatching DLCX success ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2032e5566e465c02a9a525ccd38f9dcc84fb669 Gerrit-Change-Number: 15898 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 12:18: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 Oct 30 12:19:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:19:10 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: add notify struct, prep for cancel-notify In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15897 ) Change subject: client: endp fsm: add notify struct, prep for cancel-notify ...................................................................... client: endp fsm: add notify struct, prep for cancel-notify Upcoming patches introduce copying notify information. Prepare by combining notify info into a separate sub-struct. Change-Id: I47c0dd112011b8cb4dc88e8efd010466d4ba6308 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 27 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 3ea1492..02054ab 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -73,6 +73,13 @@ static struct osmo_fsm osmo_mgcpc_ep_fsm; +struct fsm_notify { + struct osmo_fsm_inst *fi; + uint32_t success; + uint32_t failure; + void *data; +}; + /*! One connection on an endpoint, corresponding to a connection identifier (CI) as returned by the MGW. * An endpoint has a fixed number of slots of these, which may or may not be in use. */ @@ -87,10 +94,7 @@ bool sent; enum mgcp_verb verb; struct mgcp_conn_peer verb_info; - struct osmo_fsm_inst *notify; - uint32_t notify_success; - uint32_t notify_failure; - void *notify_data; + struct fsm_notify notify; bool got_port_info; struct mgcp_conn_peer rtp_info; @@ -354,15 +358,17 @@ static void on_failure(struct osmo_mgcpc_ep_ci *ci) { - struct osmo_fsm_inst *notify = ci->notify; - uint32_t notify_failure = ci->notify_failure; - void *notify_data = ci->notify_data; struct osmo_mgcpc_ep *ep = ci->ep; + struct fsm_notify notify; int i; if (!ci->occupied) return; + /* When dispatching an event for this CI, the user may decide to trigger the next request for this conn right + * away. So we must be ready with a cleared *ci. Store the notify separately and clear before dispatching. */ + notify = ci->notify; + *ci = (struct osmo_mgcpc_ep_ci){ .ep = ci->ep, }; @@ -390,8 +396,8 @@ if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi)) return; - if (notify) - osmo_fsm_inst_dispatch(notify, notify_failure, notify_data); + if (notify.fi) + osmo_fsm_inst_dispatch(notify.fi, notify.failure, notify.data); } static int update_endpoint_name(struct osmo_mgcpc_ep_ci *ci, const char *new_endpoint_name) @@ -472,10 +478,10 @@ LOG_CI(ci, LOGL_DEBUG, "received successful response to %s: RTP=%s%s\n", osmo_mgcp_verb_name(ci->verb), mgcp_conn_peer_name(ci->got_port_info? &ci->rtp_info : NULL), - ci->notify ? "" : " (not sending a notification)"); + ci->notify.fi ? "" : " (not sending a notification)"); - if (ci->notify) - osmo_fsm_inst_dispatch(ci->notify, ci->notify_success, ci->notify_data); + if (ci->notify.fi) + osmo_fsm_inst_dispatch(ci->notify.fi, ci->notify.success, ci->notify.data); osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi); } @@ -584,16 +590,18 @@ .occupied = true, /* .pending = true follows below */ .verb = verb, - .notify = notify, - .notify_success = event_success, - .notify_failure = event_failure, - .notify_data = notify_data, + .notify = { + .fi = notify, + .success = event_success, + .failure = event_failure, + .data = notify_data, + } }; osmo_strlcpy(cleared_ci.label, ci->label, sizeof(cleared_ci.label)); osmo_strlcpy(cleared_ci.mgcp_ci_str, ci->mgcp_ci_str, sizeof(cleared_ci.mgcp_ci_str)); *ci = cleared_ci; - LOG_CI_VERB(ci, LOGL_DEBUG, "notify=%s\n", osmo_fsm_inst_name(ci->notify)); + LOG_CI_VERB(ci, LOGL_DEBUG, "notify=%s\n", osmo_fsm_inst_name(ci->notify.fi)); if (verb_info) ci->verb_info = *verb_info; @@ -693,8 +701,8 @@ osmo_mgcp_verb_name(ci->verb), ci->mgcp_ci_str); /* The way this is designed, we actually need to forget all about the ci right away. */ mgcp_conn_delete(ci->mgcp_client_fi); - if (ci->notify) - osmo_fsm_inst_dispatch(ci->notify, ci->notify_success, ci->notify_data); + if (ci->notify.fi) + osmo_fsm_inst_dispatch(ci->notify.fi, ci->notify.success, ci->notify.data); *ci = (struct osmo_mgcpc_ep_ci){ .ep = ep, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47c0dd112011b8cb4dc88e8efd010466d4ba6308 Gerrit-Change-Number: 15897 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Wed Oct 30 12:19:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:19:10 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: clear ci[] before dispatching DLCX success In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15898 ) Change subject: client: endp fsm: clear ci[] before dispatching DLCX success ...................................................................... client: endp fsm: clear ci[] before dispatching DLCX success In case the ep gets deallocated during event dispatch, move all ci[] cleanup to *before* dispatching a DLCX OK event. Afterwards, it might become a use-after-free. Change-Id: Ib2032e5566e465c02a9a525ccd38f9dcc84fb669 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 6 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/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 02054ab..30ad2d3 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -663,6 +663,7 @@ { int rc; struct osmo_mgcpc_ep *ep = ci->ep; + struct fsm_notify notify; if (!ci->occupied || !ci->pending || ci->sent) return 0; @@ -701,11 +702,14 @@ osmo_mgcp_verb_name(ci->verb), ci->mgcp_ci_str); /* The way this is designed, we actually need to forget all about the ci right away. */ mgcp_conn_delete(ci->mgcp_client_fi); - if (ci->notify.fi) - osmo_fsm_inst_dispatch(ci->notify.fi, ci->notify.success, ci->notify.data); + notify = ci->notify; *ci = (struct osmo_mgcpc_ep_ci){ .ep = ep, }; + /* When dispatching an event for this CI, the user may decide to trigger the next request for this conn + * right away. So we must be ready with a cleared *ci. */ + if (notify.fi) + osmo_fsm_inst_dispatch(notify.fi, notify.success, notify.data); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2032e5566e465c02a9a525ccd38f9dcc84fb669 Gerrit-Change-Number: 15898 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Oct 30 12:19:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:19:10 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: allow cancelling a notify event In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15838 ) Change subject: client: endp fsm: allow cancelling a notify event ...................................................................... client: endp fsm: allow cancelling a notify event There is a use-after-free problem if a 'notify' FSM as passed to osmo_mgcpc_ep_ci_request() deallocates before the notify event has been dispatched. To avoid that, add API to allow cancelling a notify. Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 42 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index d77371a..9ae2039 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -29,6 +29,8 @@ uint32_t event_success, uint32_t event_failure, void *notify_data); +void osmo_mgcpc_ep_cancel_notify(struct osmo_mgcpc_ep *ep, struct osmo_fsm_inst *notify); + /*! Dispatch a DLCX for the given connection. * \param ci Connection identifier as obtained from osmo_mgcpc_ep_ci_add(). */ diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 30ad2d3..34717e9 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -74,6 +74,7 @@ static struct osmo_fsm osmo_mgcpc_ep_fsm; struct fsm_notify { + struct llist_head entry; struct osmo_fsm_inst *fi; uint32_t success; uint32_t failure; @@ -122,6 +123,10 @@ /*! Endpoint connection slots. Note that each connection has its own set of FSM event numbers to signal success * and failure, depending on its index within this array. See CI_EV_SUCCESS and CI_EV_FAILURE. */ struct osmo_mgcpc_ep_ci ci[USABLE_CI]; + + /*! Internal use: if a function keeps an fsm_notify for later dispatch while already clearing or re-using the + * ci[], the fsm_notify should be kept here to also get canceled by osmo_mgcpc_ep_cancel_notify(). */ + struct llist_head background_notify; }; const struct value_string osmo_mgcp_verb_names[] = { @@ -300,6 +305,7 @@ .fi = fi, .T_defs = T_defs, }; + INIT_LLIST_HEAD(&ep->background_notify); fi->priv = ep; va_start(ap, endpoint_str_fmt); @@ -368,6 +374,9 @@ /* When dispatching an event for this CI, the user may decide to trigger the next request for this conn right * away. So we must be ready with a cleared *ci. Store the notify separately and clear before dispatching. */ notify = ci->notify; + /* Register the planned notification in ep->background_notify so we also catch any osmo_mgcpc_ep_cancel_notify() + * that might be triggered between clearing the ci and actually dispatching the event. */ + llist_add(¬ify.entry, &ep->background_notify); *ci = (struct osmo_mgcpc_ep_ci){ .ep = ci->ep, @@ -393,11 +402,15 @@ /* If this check has terminated the FSM instance, don't fire any more events to prevent use-after-free problems. * The endpoint FSM does dispatch a term event to its parent, and everything should be cleaned like that. */ - if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi)) + if (!osmo_mgcpc_ep_fsm_check_state_chg_after_response(ep->fi)) { + /* The ep has deallocated, no need to llist_del(¬ify.entry) here. */ return; + } if (notify.fi) osmo_fsm_inst_dispatch(notify.fi, notify.failure, notify.data); + + llist_del(¬ify.entry); } static int update_endpoint_name(struct osmo_mgcpc_ep_ci *ci, const char *new_endpoint_name) @@ -542,6 +555,11 @@ ((struct osmo_mgcpc_ep*)fi->priv)->T_defs, 5) /*! Dispatch an actual CRCX/MDCX/DLCX message for this connection. + * + * If the 'notify' instance deallocates before it received a notification of event_success or event_failure, + * osmo_mgcpc_ep_ci_cancel_notify() or osmo_mgcpc_ep_cancel_notify() must be called. It is not harmful to cancel + * notification after an event has been received. + * * \param ci Connection identifier as obtained from osmo_mgcpc_ep_ci_add(). * \param verb MGCP operation to dispatch. * \param verb_info Parameters for the MGCP operation. @@ -659,6 +677,26 @@ osmo_fsm_inst_dispatch(notify, event_failure, notify_data); } +/*! No longer notify for any state changes for any conns of this endpoint. + * Useful if the notify instance passed to osmo_mgcpc_ep_ci_request() is about to deallocate. + * \param ep The endpoint FSM instance. + * \param notify Which target to cancel notification for, if NULL cancel all notifications. */ +void osmo_mgcpc_ep_cancel_notify(struct osmo_mgcpc_ep *ep, struct osmo_fsm_inst *notify) +{ + struct fsm_notify *n; + int i; + for (i = 0; i < ARRAY_SIZE(ep->ci); i++) { + struct osmo_mgcpc_ep_ci *ci = &ep->ci[i]; + if (!notify || ci->notify.fi == notify) + ci->notify.fi = NULL; + } + llist_for_each_entry(n, &ep->background_notify, entry) { + if (!notify || n->fi == notify) + n->fi = NULL; + } + +} + static int send_verb(struct osmo_mgcpc_ep_ci *ci) { int rc; @@ -724,6 +762,7 @@ { if (!ep) return; + osmo_mgcpc_ep_cancel_notify(ep, NULL); osmo_fsm_inst_term(ep->fi, OSMO_FSM_TERM_REGULAR, 0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I41687d7f3a808587ab7f7520f46dcc3c29cff92d Gerrit-Change-Number: 15838 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Wed Oct 30 12:19:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:19:11 +0000 Subject: Change in osmo-mgw[master]: client: endp fsm: add osmo_mgcpc_ep_ci_ep() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15899 ) Change subject: client: endp fsm: add osmo_mgcpc_ep_ci_ep() ...................................................................... client: endp fsm: add osmo_mgcpc_ep_ci_ep() If an API user only has access to the ci FSM (which is managed via an opaque struct), provide this function to obtain the backpointer to the parent endpoint FSM, mostly to be able to call osmo_mgcpc_ep_cancel_notify() on it. osmo-msc's rtp_stream FSM will use this in I351bb8e8fbc46eb629bcd599f6453e2c84c15015. Change-Id: I14f7a46031327fb2b2047b998eae6ad0bb7324ad --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 9 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index 9ae2039..736da22 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -30,6 +30,7 @@ void *notify_data); void osmo_mgcpc_ep_cancel_notify(struct osmo_mgcpc_ep *ep, struct osmo_fsm_inst *notify); +struct osmo_mgcpc_ep *osmo_mgcpc_ep_ci_ep(struct osmo_mgcpc_ep_ci *ci); /*! Dispatch a DLCX for the given connection. * \param ci Connection identifier as obtained from osmo_mgcpc_ep_ci_add(). diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 34717e9..2259788 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -697,6 +697,14 @@ } +/* Return the osmo_mgcpc_ep that this conn belongs to. */ +struct osmo_mgcpc_ep *osmo_mgcpc_ep_ci_ep(struct osmo_mgcpc_ep_ci *conn) +{ + if (!conn) + return NULL; + return conn->ep; +} + static int send_verb(struct osmo_mgcpc_ep_ci *ci) { int rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I14f7a46031327fb2b2047b998eae6ad0bb7324ad Gerrit-Change-Number: 15899 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Oct 30 12:19:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:19:48 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 12:19: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 Oct 30 12:19:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:19:59 +0000 Subject: Change in osmo-msc[master]: also log MNCC_SETUP_REQ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15845 ) Change subject: also log MNCC_SETUP_REQ ...................................................................... also log MNCC_SETUP_REQ If an incoming MNCC_SETUP_REQ ends up in Paging (as usually it does), the early return so far skipped logging of that MNCC message. Add this logging. Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 --- M src/libmsc/gsm_04_08_cc.c M tests/msc_vlr/msc_vlr_test_call.err 2 files changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index c50ec7f..a90ddce 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -1941,6 +1941,9 @@ /* If subscriber has no conn */ if (!msc_a) { + /* This condition will return before the common logging of the received MNCC message below, so + * log it now. */ + LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg->msg_type)); if (vsub->cs.is_paging) { LOG_TRANS(trans, LOGL_DEBUG, diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index 4724ec6..4f8f925 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -630,6 +630,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_gsm_cc: now used by 2 (attached,mncc_tx_to_gsm_cc) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_gsm_cc,CC) DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction +DMNCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) rx MNCC_SETUP_REQ DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -1057,6 +1058,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_gsm_cc: now used by 2 (attached,mncc_tx_to_gsm_cc) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_gsm_cc,CC) DCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction +DMNCC trans(CC:NULL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) rx MNCC_SETUP_REQ DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1495dd562a06cf6c1e9453a1fe111bdf8f4be081 Gerrit-Change-Number: 15845 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 30 12:20:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:20:00 +0000 Subject: Change in osmo-msc[master]: BSSMAP log tweak In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15846 ) Change subject: BSSMAP log tweak ...................................................................... BSSMAP log tweak Before: RAN decode: BSSMAP: Rx BSSMAP DT1 COMPLETE LAYER 3 After: RAN decode: BSSMAP: COMPLETE LAYER 3 This caught my attention while I was writing up a script to parse osmo-msc logging to produce ladder diagrams. Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 --- M src/libmsc/ran_msg_a.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 7672d86..01ecfa4 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -776,7 +776,7 @@ return -EINVAL; } - LOG_RAN_A_DEC(ran_dec, LOGL_DEBUG, "Rx BSSMAP DT1 %s\n", gsm0808_bssmap_name(msg_type)); + LOG_RAN_A_DEC(ran_dec, LOGL_DEBUG, "%s\n", gsm0808_bssmap_name(msg_type)); switch (msg_type) { case BSS_MAP_MSG_COMPLETE_LAYER_3: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I387dde8f2eb3edb35d22ce52dc0ed580978dea36 Gerrit-Change-Number: 15846 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 30 12:20:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:20:00 +0000 Subject: Change in osmo-msc[master]: log: RANAP encode: use RANAP message names instead of BSSAP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15847 ) Change subject: log: RANAP encode: use RANAP message names instead of BSSAP ...................................................................... log: RANAP encode: use RANAP message names instead of BSSAP Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 --- M src/libmsc/ran_msg_iu.c 1 file changed, 5 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/src/libmsc/ran_msg_iu.c b/src/libmsc/ran_msg_iu.c index d5b9143..e056de4 100644 --- a/src/libmsc/ran_msg_iu.c +++ b/src/libmsc/ran_msg_iu.c @@ -396,25 +396,28 @@ struct msgb *ran_iu_encode(struct osmo_fsm_inst *caller_fi, const struct ran_msg *ran_enc_msg) { - LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "%s\n", ran_msg_type_name(ran_enc_msg->msg_type)); - switch (ran_enc_msg->msg_type) { case RAN_MSG_DTAP: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "DirectTransfer\n"); return ran_iu_wrap_dtap(ran_enc_msg->dtap); // TODO: RAN_MSG_CLASSMARK_REQUEST ?? case RAN_MSG_CIPHER_MODE_COMMAND: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "SecurityModeCommand\n"); return ran_iu_make_security_mode_command(caller_fi, &ran_enc_msg->cipher_mode_command); case RAN_MSG_ASSIGNMENT_COMMAND: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "RAB AssignmentRequest\n"); return ran_iu_make_rab_assignment(caller_fi, &ran_enc_msg->assignment_command); case RAN_MSG_COMMON_ID: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "CommonId\n"); return ranap_new_msg_common_id(ran_enc_msg->common_id.imsi); case RAN_MSG_CLEAR_COMMAND: + LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "Iu Release\n"); return ran_iu_make_release_command(caller_fi, &ran_enc_msg->clear_command); default: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib0e0630d775a28958ea86802f70cbeec07087f91 Gerrit-Change-Number: 15847 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Wed Oct 30 12:20:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:20:00 +0000 Subject: Change in osmo-msc[master]: log: ran_msg_a: tweak a message name In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15848 ) Change subject: log: ran_msg_a: tweak a message name ...................................................................... log: ran_msg_a: tweak a message name Change-Id: I691025cb957e9b87c8af2dc8eb741dcba6ca26e2 --- M src/libmsc/ran_msg_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 diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 01ecfa4..fa0335c 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -54,7 +54,7 @@ struct tlv_p_entry *ie_l3_info = TLVP_GET(tp, GSM0808_IE_LAYER_3_INFORMATION); struct ran_msg ran_dec_msg = { .msg_type = RAN_MSG_COMPL_L3, - .msg_name = "BSSMAP Complete Layer 3", + .msg_name = "BSSMAP Complete Layer 3 Information", .compl_l3 = { .cell_id = &cell_id, .msg = msg, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I691025cb957e9b87c8af2dc8eb741dcba6ca26e2 Gerrit-Change-Number: 15848 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 30 12:20:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:20:00 +0000 Subject: Change in osmo-msc[master]: send MNCC REL only if MNCC has actually started In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15849 ) Change subject: send MNCC REL only if MNCC has actually started ...................................................................... send MNCC REL only if MNCC has actually started Change-Id: I07b2b6c0ee33f5d3e0a060c10cf36d5c7c9f0d9b --- M include/osmocom/msc/transaction.h M src/libmsc/gsm_04_08_cc.c 2 files changed, 9 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/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index cab0030..61d8c1a 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -103,6 +103,7 @@ struct osmo_timer_list timer; struct osmo_timer_list timer_guard; struct gsm_mncc msg; /* stores setup/disconnect/release message */ + bool mncc_initiated; /* Whether an MNCC Release is necessary on failure */ } cc; struct { struct gsm411_smc_inst smc_inst; diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index a90ddce..792ab61 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -244,6 +244,9 @@ memcpy(data, mncc, sizeof(struct gsm_mncc)); cc_tx_to_mncc(net, msg); + /* trans may be NULL when sending an MNCC error reply upon an invalid MNCC request */ + if (trans) + trans->cc.mncc_initiated = true; return 0; } @@ -278,9 +281,10 @@ gsm48_cc_tx_release(trans, &rel); } /* Ressource unavailable */ - mncc_release_ind(trans->net, trans, trans->callref, - GSM48_CAUSE_LOC_PRN_S_LU, - GSM48_CC_CAUSE_RESOURCE_UNAVAIL); + if (trans->cc.mncc_initiated) + mncc_release_ind(trans->net, trans, trans->callref, + GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_RESOURCE_UNAVAIL); /* This is a final freeing of the transaction. The MNCC release may have triggered the * T308 release timer, but we don't have the luxury of graceful CC Release here. */ gsm48_stop_cc_timer(trans); @@ -1981,6 +1985,7 @@ LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg->msg_type)); gsm48_start_guard_timer(trans); + trans->cc.mncc_initiated = true; if (trans->msc_a) msc_a = trans->msc_a; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I07b2b6c0ee33f5d3e0a060c10cf36d5c7c9f0d9b Gerrit-Change-Number: 15849 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Oct 30 12:24:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 12:24:07 +0000 Subject: Change in libosmocore[master]: Add code coverage support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13496 ) Change subject: Add code coverage support ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f4ffb91bd7f3dd070aa09dd16d5ad1faf130a4c Gerrit-Change-Number: 13496 Gerrit-PatchSet: 7 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Wed, 30 Oct 2019 12:24: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 Oct 30 12:42:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 12:42:02 +0000 Subject: Change in osmo-bts[master]: rsl: Always enable MS Power Ctrl loop in BTS to keep compatibility wi... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15906 ) Change subject: rsl: Always enable MS Power Ctrl loop in BTS to keep compatibility with old osmo-bsc ...................................................................... rsl: Always enable MS Power Ctrl loop in BTS to keep compatibility with old osmo-bsc There's no need to enable it always in RSL MS Power Control message, because old osmo-bsc doesn't send it anyway, so in there we can keep the correct behavior for other BSCs. Related: OS#1622 Change-Id: I2b4660aa06ffb10694448697aa4b8e460e4bb206 --- M src/common/rsl.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/15906/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index de51e6f..922e666 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1170,6 +1170,11 @@ * autonomous MS power control loop in BTS if 'MS Power * Parameters' IE is present! */ lchan->ms_power_ctrl.fixed = 1; + /* ...however, since osmo-bsc until recently was not sending this + IE, let's always enable autonomous MS power control loop in + BTS anyway in order to avoid compat breakage against recent old + versions of osmo-bsc. Let's keep it this way for a while. */ + lchan->ms_power_ctrl.fixed = 0; } /* 9.3.16 Physical Context */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2b4660aa06ffb10694448697aa4b8e460e4bb206 Gerrit-Change-Number: 15906 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 Oct 30 12:46:13 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Oct 2019 12:46:13 +0000 Subject: Change in docker-playground[master]: osmo-bsc-latest: remove obsolete logging categories References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15907 ) Change subject: osmo-bsc-latest: remove obsolete logging categories ...................................................................... osmo-bsc-latest: remove obsolete logging categories The logging categories cc and mgcp are obsolete for osmo-bsc and will cause recent versions of osmo-bsc to crash. Lets remove this logging categories from the config file now. Change-Id: Idd85318abe3fc982909c11115c886835a3d8cd37 --- M osmo-bsc-latest/osmo-bsc.cfg 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/07/15907/1 diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 2550c1b..bd797e0 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -9,7 +9,6 @@ logging print category 0 logging timestamp 0 logging level rll notice - logging level cc notice logging level mm notice logging level rr notice logging level rsl notice @@ -17,7 +16,6 @@ logging level pag notice logging level meas notice logging level msc notice - logging level mgcp notice logging level ho notice logging level ref notice logging level nat notice -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idd85318abe3fc982909c11115c886835a3d8cd37 Gerrit-Change-Number: 15907 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 Wed Oct 30 12:48:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 30 Oct 2019 12:48:27 +0000 Subject: Change in docker-playground[master]: osmo-bsc-latest: remove obsolete logging categories In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15907 ) Change subject: osmo-bsc-latest: remove obsolete logging categories ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idd85318abe3fc982909c11115c886835a3d8cd37 Gerrit-Change-Number: 15907 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 12:48: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 Oct 30 13:00:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 30 Oct 2019 13:00:29 +0000 Subject: Change in docker-playground[master]: repo-install-test: disable osmo-ggsn service In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15901 ) Change subject: repo-install-test: disable osmo-ggsn service ...................................................................... repo-install-test: disable osmo-ggsn service OsmoGGSN is not able to use the tun4 device from the default config in docker. Since the more strict config checking in [1], it does not just report a warning, but fails to start: <0002> ggsn.c:189 APN(internet): Opening TUN device tun4 <0001> tun.c:184 errno=2/No such file or directory open() failed <0002> ggsn.c:191 APN(internet): Failed to configure tun device Error occurred during reading the below line: no shutdown Failed to open config file: '/etc/osmocom/osmo-ggsn.cfg' Fix the repo install test jenkins job by not checking osmo-ggsn anymore. In theory, we could probably create the tun device on the host, and mount it inside the docker container. But that would require some additional logic to clean it up properly, and it does not seem worth the effort right now. [1] libosmocore Ic9c1b566ec4a459f03e6319cf369691903cf9d00 Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 --- M debian-repo-install-test/testdata/repo-install-test.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved osmith: Verified diff --git a/debian-repo-install-test/testdata/repo-install-test.sh b/debian-repo-install-test/testdata/repo-install-test.sh index 4fae488..63e1819 100755 --- a/debian-repo-install-test/testdata/repo-install-test.sh +++ b/debian-repo-install-test/testdata/repo-install-test.sh @@ -4,10 +4,10 @@ # Disabled services: # * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108) # * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108) +# * osmo-ggsn (no tun device in docker) SERVICES=" osmo-bsc osmo-gbproxy - osmo-ggsn osmo-gtphub osmo-hlr osmo-mgw -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593 Gerrit-Change-Number: 15901 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Wed Oct 30 13:49:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 13:49:14 +0000 Subject: Change in docker-playground[master]: osmo-bsc-latest: remove obsolete logging categories In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15907 ) Change subject: osmo-bsc-latest: remove obsolete logging categories ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idd85318abe3fc982909c11115c886835a3d8cd37 Gerrit-Change-Number: 15907 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 13:49: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 Oct 30 13:49:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 13:49:16 +0000 Subject: Change in docker-playground[master]: osmo-bsc-latest: remove obsolete logging categories In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15907 ) Change subject: osmo-bsc-latest: remove obsolete logging categories ...................................................................... osmo-bsc-latest: remove obsolete logging categories The logging categories cc and mgcp are obsolete for osmo-bsc and will cause recent versions of osmo-bsc to crash. Lets remove this logging categories from the config file now. Change-Id: Idd85318abe3fc982909c11115c886835a3d8cd37 --- M osmo-bsc-latest/osmo-bsc.cfg 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Verified diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 2550c1b..bd797e0 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -9,7 +9,6 @@ logging print category 0 logging timestamp 0 logging level rll notice - logging level cc notice logging level mm notice logging level rr notice logging level rsl notice @@ -17,7 +16,6 @@ logging level pag notice logging level meas notice logging level msc notice - logging level mgcp notice logging level ho notice logging level ref notice logging level nat notice -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idd85318abe3fc982909c11115c886835a3d8cd37 Gerrit-Change-Number: 15907 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Oct 30 13:49:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 30 Oct 2019 13:49:40 +0000 Subject: Change in osmo-hlr[master]: fix double free in osmo_gsup_client_enc_send() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15900 ) Change subject: fix double free in osmo_gsup_client_enc_send() ...................................................................... fix double free in osmo_gsup_client_enc_send() Change-Id: Iee675fd498ab0867ac2411d9142358f513276182 --- M src/gsupclient/gsup_client.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/gsupclient/gsup_client.c b/src/gsupclient/gsup_client.c index c8408fd..814d5a2 100644 --- a/src/gsupclient/gsup_client.c +++ b/src/gsupclient/gsup_client.c @@ -386,7 +386,8 @@ rc = osmo_gsup_client_send(gsupc, gsup_msgb); if (rc) { LOGP(DLGSUP, LOGL_ERROR, "Couldn't send GSUP message\n"); - goto error; + /* Do not free, osmo_gsup_client_send() already has. */ + return rc; } return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iee675fd498ab0867ac2411d9142358f513276182 Gerrit-Change-Number: 15900 Gerrit-PatchSet: 1 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 Wed Oct 30 13:54:34 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 30 Oct 2019 13:54:34 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15908 ) Change subject: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total ...................................................................... scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total Make sure the variables n_errors, n_bursts_bits, n_bits_total are always initalized. For example in rx_tchh_fn() the value for n_errors is defined in a switch statement, where the default lets n_errors uninitalized, which is in that particular case a theoretical problem, however, lets make sure that the variables n_errors, n_bursts_bits and n_bits_total are always initalized with 0 Related: CID#205452 Related: CID#205451 Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/15908/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 88e4f3a..2e97990 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -783,7 +783,7 @@ uint8_t bid, const struct trx_ul_burst_ind *bi) { struct osmo_phsap_prim l1sap; - int n_errors, n_bits_total; + int n_errors, n_bits_total = 0; uint16_t ra11; uint8_t ra; int rc; @@ -904,7 +904,7 @@ int32_t *ci_cb_sum = &chan_state->ci_cb_sum; uint8_t *ci_cb_num = &chan_state->ci_cb_num; uint8_t l2[GSM_MACBLOCK_LEN], l2_len; - int n_errors, n_bits_total; + int n_errors, n_bits_total = 0; int16_t lqual_cb; uint16_t ber10k; int rc; @@ -1020,7 +1020,7 @@ int32_t *ci_cb_sum = &chan_state->ci_cb_sum; uint8_t *ci_cb_num = &chan_state->ci_cb_num; uint8_t l2[EGPRS_0503_MAX_BYTES]; - int n_errors, n_bursts_bits, n_bits_total; + int n_errors, n_bursts_bits, n_bits_total = 0; int16_t lqual_cb; uint16_t ber10k; int rc; @@ -1139,7 +1139,7 @@ uint8_t tch_mode = chan_state->tch_mode; uint8_t tch_data[128]; /* just to be safe */ int rc, amr = 0; - int n_errors, n_bits_total; + int n_errors, n_bits_total = 0; bool bfi_flag = false; struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); @@ -1335,7 +1335,7 @@ uint8_t tch_mode = chan_state->tch_mode; uint8_t tch_data[128]; /* just to be safe */ int rc, amr = 0; - int n_errors, n_bits_total; + int n_errors, n_bits_total = 0; bool bfi_flag = false; struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 Gerrit-Change-Number: 15908 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 Wed Oct 30 17:55:08 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 30 Oct 2019 17:55:08 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15908 ) Change subject: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15908/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/15908/1//COMMIT_MSG at 9 PS1, Line 9: the variables n_errors, n_bursts_bits, n_bits_total are always : initalized As far as I can see from the code, you only initialize n_bits_total. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 Gerrit-Change-Number: 15908 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 30 Oct 2019 17:55: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 Oct 30 20:19:27 2019 From: gerrit-no-reply at lists.osmocom.org (Minh-Quang Nguyen) Date: Wed, 30 Oct 2019 20:19:27 +0000 Subject: Change in osmo-bsc[master]: RSL: Wrong CCCH_CONFIG in SI3 causes a lot of MO call setup failed wh... References: Message-ID: Minh-Quang Nguyen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15909 ) Change subject: RSL: Wrong CCCH_CONFIG in SI3 causes a lot of MO call setup failed when the BTS configured with none combined CCCH mode. ...................................................................... RSL: Wrong CCCH_CONFIG in SI3 causes a lot of MO call setup failed when the BTS configured with none combined CCCH mode. Issue: MO call setup signaling failed when the CCCH is configured in none combined with SDCCH (a dedicated TS is configured for SDCCH). The call setup signaling attempts in all SDCCH sub-channels until the MO call setup failed as shown below: <0007> ../../../git/src/osmo-bsc/osmo_bsc_sigtran.c:305 Initializing resources for new SIGTRAN connection to MSC: RI=SSN_PC,PC=0.23.1,SSN=BSSAP... <0007> ../../../git/src/osmo-bsc/osmo_bsc_sigtran.c:351 Opening new SIGTRAN connection (id=1) to MSC: RI=SSN_PC,PC=0.23.1,SSN=BSSAP <0010> ../../../git/src/osmo-bsc/lchan_fsm.c:80 lchan(0-0-1-SDCCH8-0)[0x1eb888]{WAIT_RLL_RTP_ESTABLISH}: (type=SDCCH) lchan allocation failed in state WAIT_RLL_RTP_ESTABLISH: Timeout <0007> ../../../git/src/osmo-bsc/osmo_bsc_bssap.c:584 SUBSCR_CONN(conn1)[0x249298]{ACTIVE}: Global Call Ref IE of 0 bytes is too short <0010> ../../../git/src/osmo-bsc/lchan_fsm.c:80 lchan(0-0-1-SDCCH8-1)[0x1eb9c8]{WAIT_RLL_RTP_ESTABLISH}: (type=SDCCH) lchan allocation failed in state WAIT_RLL_RTP_ESTABLISH: Timeout <0010> ../../../git/src/osmo-bsc/lchan_fsm.c:80 lchan(0-0-1-SDCCH8-2)[0x246e08]{WAIT_RLL_RTP_ESTABLISH}: (type=SDCCH) lchan allocation failed in state WAIT_RLL_RTP_ESTABLISH: Timeout <0010> ../../../git/src/osmo-bsc/lchan_fsm.c:80 lchan(0-0-1-SDCCH8-3)[0x246f48]{WAIT_RLL_RTP_ESTABLISH}: (type=SDCCH) lchan allocation failed in state WAIT_RLL_RTP_ESTABLISH: Timeout <0010> ../../../git/src/osmo-bsc/lchan_fsm.c:80 lchan(0-0-1-SDCCH8-4)[0x247088]{WAIT_RLL_RTP_ESTABLISH}: (type=SDCCH) lchan allocation failed in state WAIT_RLL_RTP_ESTABLISH: Timeout <0000> ../../../git/src/libosmo-mgcp-client/mgcp_client_fsm.c:526 MGCP_CONN(to-MSC)[0x24a1f8]{ST_READY}: MGW/DLCX: abrupt FSM termination with connections still present, sending unconditional DLCX... <0000> ../../../git/src/libosmo-mgcp-client/mgcp_client_fsm.c:526 MGCP_CONN(to-BTS)[0x251a58]{ST_READY}: MGW/DLCX: abrupt FSM termination with connections still present, sending unconditional DLCX... <0010> ../../../git/src/osmo-bsc/abis_rsl.c:2018 lchan(0-0-2-TCH_F-0)[0x2475e0]{WAIT_RF_RELEASE_ACK}: (type=TCH_F) Rx IPACC DLCX IND After an investigation, it turns out that the BTS broadcasts wrong CCCH_CONF=1, i.e. combined CCCH and SDCCH instead of CCCH_CONF=0, i.e. none combined CCCH. Fixes: - The generation of SI3 looks for CCCH information in BTS->C0 timeslots configuration that have never been updated during parsing the BSC configuration file. - Properly update BTS->C0 timeslots configuration during parsing the BSC configuration file solves the issue. Change-Id: I33ea7808ac1bd064b88fd609bd7dfe0c8aa341f2 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/15909/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index a388c9a..6e02e06 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -4336,6 +4336,10 @@ ts->pchan_from_config = pchanc; + /* update BTS->C0 timeslot configuration so that CCCH_CONF in SI3 will be correctly generated */ + if (ts->trx == ts->trx->bts->c0) + ts->trx->bts->c0->ts[ts->nr].pchan_is = pchanc; + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I33ea7808ac1bd064b88fd609bd7dfe0c8aa341f2 Gerrit-Change-Number: 15909 Gerrit-PatchSet: 1 Gerrit-Owner: Minh-Quang Nguyen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 31 03:49:58 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 03:49:58 +0000 Subject: Change in osmo-hlr[master]: db upgrade to v2: log version 2, not 1 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15910 ) Change subject: db upgrade to v2: log version 2, not 1 ...................................................................... db upgrade to v2: log version 2, not 1 Change-Id: I9237b64e5748e693a5f039c5a5554d417eed3633 --- M src/db.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/10/15910/1 diff --git a/src/db.c b/src/db.c index 5e6b5eb..f3ed863 100644 --- a/src/db.c +++ b/src/db.c @@ -311,7 +311,7 @@ db_remove_reset(stmt); sqlite3_finalize(stmt); if (rc != SQLITE_DONE) { - LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version %d\n", 1); + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 2\n"); return rc; } @@ -322,7 +322,7 @@ } rc = sqlite3_step(stmt); if (rc != SQLITE_DONE) - LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version %d\n", 1); + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 2\n"); db_remove_reset(stmt); sqlite3_finalize(stmt); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I9237b64e5748e693a5f039c5a5554d417eed3633 Gerrit-Change-Number: 15910 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 Thu Oct 31 03:49:58 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 03:49:58 +0000 Subject: Change in osmo-hlr[master]: fix upgrade to version 2: imei column default value References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15911 ) Change subject: fix upgrade to version 2: imei column default value ...................................................................... fix upgrade to version 2: imei column default value A subsequent commit will add a db_upgrade test, which verifies that the db resulting from an upgrade is identical to one created from scratch in the new version. That test currently would show a diff: an upgraded 'imei' column has 'default NULL', where a new db created in version 2 has no default value on the imei column. Fix the upgrade path to add an imei column without 'default NULL', so that adding the upgrade test will result in success. The test is added in I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 Change-Id: I68a00014a3d603fcba8781470bc5285f78b538d0 --- M src/db.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/11/15911/1 diff --git a/src/db.c b/src/db.c index f3ed863..31c4ba5 100644 --- a/src/db.c +++ b/src/db.c @@ -299,7 +299,7 @@ { sqlite3_stmt *stmt; int rc; - const char *update_stmt_sql = "ALTER TABLE subscriber ADD COLUMN imei VARCHAR(14) default NULL"; + const char *update_stmt_sql = "ALTER TABLE subscriber ADD COLUMN imei VARCHAR(14)"; const char *set_schema_version_sql = "PRAGMA user_version = 2"; rc = sqlite3_prepare_v2(dbc->db, update_stmt_sql, -1, &stmt, NULL); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I68a00014a3d603fcba8781470bc5285f78b538d0 Gerrit-Change-Number: 15911 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 Thu Oct 31 03:49:58 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 03:49:58 +0000 Subject: Change in osmo-hlr[master]: add --db-check option References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15912 ) Change subject: add --db-check option ...................................................................... add --db-check option This allows starting osmo-hlr to merely open the database, do upgrades if necessary, and quit, without opening any ports. Needed for upcoming patch that introduces a db_upgrade test, in I0961bab0e17cfde5b030576c5bc243c2b51d9dc4. Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 --- M src/hlr.c 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/12/15912/1 diff --git a/src/hlr.c b/src/hlr.c index 8b9dff1..f9cc2f5 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -706,6 +706,7 @@ printf(" -T --timestamp Prefix every log line with a timestamp.\n"); printf(" -e --log-level number Set a global loglevel.\n"); printf(" -U --db-upgrade Allow HLR database schema upgrades.\n"); + printf(" -C --db-check Quit after opening (and upgrading) the database.\n"); printf(" -V --version Print the version of OsmoHLR.\n"); } @@ -714,6 +715,7 @@ const char *db_file; bool daemonize; bool db_upgrade; + bool db_check; } cmdline_opts = { .config_file = "osmo-hlr.cfg", .db_file = NULL, @@ -735,6 +737,7 @@ {"log-level", 1, 0, 'e'}, {"timestamp", 0, 0, 'T'}, {"db-upgrade", 0, 0, 'U' }, + {"db-check", 0, 0, 'C' }, {"version", 0, 0, 'V' }, {0, 0, 0, 0} }; @@ -773,6 +776,9 @@ case 'U': cmdline_opts.db_upgrade = true; break; + case 'C': + cmdline_opts.db_check = true; + break; case 'V': print_version(1); exit(0); @@ -879,6 +885,16 @@ exit(1); } + if (cmdline_opts.db_check) { + LOGP(DMAIN, LOGL_NOTICE, "Cmdline option --db-check: Database was opened successfully, quitting.\n"); + db_close(g_hlr->dbc); + log_fini(); + talloc_free(hlr_ctx); + talloc_free(tall_vty_ctx); + talloc_disable_null_tracking(); + exit(0); + } + g_hlr->gs = osmo_gsup_server_create(hlr_ctx, g_hlr->gsup_bind_addr, OSMO_GSUP_PORT, read_cb, &g_lu_ops, g_hlr); if (!g_hlr->gs) { -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 Gerrit-Change-Number: 15912 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 Thu Oct 31 03:49:59 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 03:49:59 +0000 Subject: Change in osmo-hlr[master]: add db_upgrade test References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15913 ) Change subject: add db_upgrade test ...................................................................... add db_upgrade test We have a database schema upgrade path, but so far nothing that verifies that we don't break it. It almost seems like the user data weren't important to us!? Add a db upgrade test: - Create a db with an .sql dump taken from a db created with an old osmo-hlr, producing DB schema version 0. - Run osmo-hlr --db-upgrade --db-check - Verify that the upgrade exited successfully. - Verify that restarting with the upgraded DB works. If python tests are enabled, also: - create a new database using the new osmo-hlr (just built). - replay a VTY transcript to create subscribers as in the old snapshot. - replay some sql modifications as done in the old snapshot. - Get a list of sorted table names, - a list of their sorted columns with all their properties, - and dump the table contents in a column- and value-sorted way. - Compare the resulting dumps and error if there are any diffs. (This is how I found the difference in the imei column that was fixed in I68a00014a3d603fcba8781470bc5285f78b538d0) Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 --- M configure.ac M src/hlr.c M tests/Makefile.am A tests/db_upgrade/Makefile.am A tests/db_upgrade/create_subscribers.vty A tests/db_upgrade/create_subscribers_step2.sql A tests/db_upgrade/db_upgrade_test.err A tests/db_upgrade/db_upgrade_test.ok A tests/db_upgrade/db_upgrade_test.sh A tests/db_upgrade/hlr_db_v0.sql A tests/db_upgrade/osmo-hlr.cfg M tests/testsuite.at 12 files changed, 434 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/13/15913/1 diff --git a/configure.ac b/configure.ac index 993d4d5..ca78f38 100644 --- a/configure.ac +++ b/configure.ac @@ -186,4 +186,5 @@ tests/gsup_server/Makefile tests/gsup/Makefile tests/db/Makefile + tests/db_upgrade/Makefile ) diff --git a/src/hlr.c b/src/hlr.c index f9cc2f5..6bfc141 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -862,12 +862,6 @@ return rc; } - /* start telnet after reading config for vty_get_bind_addr() */ - rc = telnet_init_dynif(hlr_ctx, NULL, vty_get_bind_addr(), - OSMO_VTY_PORT_HLR); - if (rc < 0) - return rc; - LOGP(DMAIN, LOGL_NOTICE, "hlr starting\n"); rc = rand_init(); @@ -895,6 +889,13 @@ exit(0); } + /* start telnet after reading config for vty_get_bind_addr() */ + rc = telnet_init_dynif(hlr_ctx, NULL, vty_get_bind_addr(), + OSMO_VTY_PORT_HLR); + if (rc < 0) + return rc; + + g_hlr->gs = osmo_gsup_server_create(hlr_ctx, g_hlr->gsup_bind_addr, OSMO_GSUP_PORT, read_cb, &g_lu_ops, g_hlr); if (!g_hlr->gs) { diff --git a/tests/Makefile.am b/tests/Makefile.am index 4da8ab1..357fbac 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -3,6 +3,7 @@ gsup_server \ db \ gsup \ + db_upgrade \ $(NULL) # The `:;' works around a Bash 3.2 bug when the output is not writeable. @@ -44,6 +45,7 @@ # don't run vty and ctrl tests concurrently so that the ports don't conflict $(MAKE) vty-test $(MAKE) ctrl-test + $(MAKE) db-upgrade-equivalence-test else python-tests: echo "Not running python-based external tests (determined at configure-time)" @@ -81,6 +83,9 @@ -rm -f $(CTRL_TEST_DB) -rm $(CTRL_TEST_DB)-* +db-upgrade-equivalence-test: + $(MAKE) -C db_upgrade upgrade-equivalence-test + check-local: atconfig $(TESTSUITE) $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) $(MAKE) $(AM_MAKEFLAGS) python-tests diff --git a/tests/db_upgrade/Makefile.am b/tests/db_upgrade/Makefile.am new file mode 100644 index 0000000..79136c9 --- /dev/null +++ b/tests/db_upgrade/Makefile.am @@ -0,0 +1,14 @@ +EXTRA_DIST = \ + db_upgrade_test.sh \ + db_upgrade_test.err \ + db_upgrade_test.ok \ + hlr_db_v0.sql \ + osmo-hlr.cfg \ + create_subscribers.vty \ + $(NULL) + +update_exp: + $(srcdir)/db_upgrade_test.sh $(srcdir) $(builddir) >"$(srcdir)/db_upgrade_test.ok" 2>"$(srcdir)/db_upgrade_test.err" + +upgrade-equivalence-test: + $(srcdir)/db_upgrade_test.sh $(srcdir) $(builddir) do-equivalence-test diff --git a/tests/db_upgrade/create_subscribers.vty b/tests/db_upgrade/create_subscribers.vty new file mode 100644 index 0000000..30eeba6 --- /dev/null +++ b/tests/db_upgrade/create_subscribers.vty @@ -0,0 +1,47 @@ +OsmoHLR> enable +OsmoHLR# subscriber imsi 123456789012345 create +% Created subscriber 123456789012345 + ID: 1 + IMSI: 123456789012345 + MSISDN: none +OsmoHLR# subscriber imsi 123456789012345 update msisdn 098765432109876 +% Updated subscriber IMSI='123456789012345' to MSISDN='098765432109876' +OsmoHLR# subscriber imsi 123456789012345 update aud2g comp128v1 ki BeefedCafeFaceAcedAddedDecadeFee +OsmoHLR# subscriber imsi 123456789012345 update aud3g milenage k C01ffedC1cadaeAc1d1f1edAcac1aB0a opc CededEffacedAceFacedBadFadedBeef +OsmoHLR# subscriber imsi 111111111 create +% Created subscriber 111111111 + ID: 2 + IMSI: 111111111 + MSISDN: none +OsmoHLR# subscriber imsi 222222222 create +% Created subscriber 222222222 + ID: 3 + IMSI: 222222222 + MSISDN: none +OsmoHLR# subscriber imsi 222222222 update msisdn 22222 +% Updated subscriber IMSI='222222222' to MSISDN='22222' +OsmoHLR# subscriber imsi 333333 create +% Created subscriber 333333 + ID: 4 + IMSI: 333333 + MSISDN: none +OsmoHLR# subscriber imsi 333333 update msisdn 3 +% Updated subscriber IMSI='333333' to MSISDN='3' +OsmoHLR# subscriber imsi 333333 update aud2g comp128v2 ki 33333333333333333333333333333333 +OsmoHLR# subscriber imsi 444444444444444 create +% Created subscriber 444444444444444 + ID: 5 + IMSI: 444444444444444 + MSISDN: none +OsmoHLR# subscriber imsi 444444444444444 update msisdn 4444 +% Updated subscriber IMSI='444444444444444' to MSISDN='4444' +OsmoHLR# subscriber imsi 444444444444444 update aud3g milenage k 44444444444444444444444444444444 op 44444444444444444444444444444444 +OsmoHLR# subscriber imsi 5555555 create +% Created subscriber 5555555 + ID: 6 + IMSI: 5555555 + MSISDN: none +OsmoHLR# subscriber imsi 5555555 update msisdn 55555555555555 +% Updated subscriber IMSI='5555555' to MSISDN='55555555555555' +OsmoHLR# subscriber imsi 5555555 update aud2g xor ki 55555555555555555555555555555555 +OsmoHLR# subscriber imsi 5555555 update aud3g milenage k 55555555555555555555555555555555 opc 55555555555555555555555555555555 diff --git a/tests/db_upgrade/create_subscribers_step2.sql b/tests/db_upgrade/create_subscribers_step2.sql new file mode 100644 index 0000000..7933e25 --- /dev/null +++ b/tests/db_upgrade/create_subscribers_step2.sql @@ -0,0 +1,6 @@ +update subscriber set vlr_number = 'MSC-1' where id = 1; +update subscriber set ms_purged_cs = 1 where id = 2; +update subscriber set ms_purged_ps = 1 where id = 3; +update subscriber set nam_cs = 0 where id = 4; +update subscriber set nam_ps = 0 where id = 5; +update subscriber set nam_cs = 0, nam_ps = 0 where id = 6; diff --git a/tests/db_upgrade/db_upgrade_test.err b/tests/db_upgrade/db_upgrade_test.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/db_upgrade/db_upgrade_test.err diff --git a/tests/db_upgrade/db_upgrade_test.ok b/tests/db_upgrade/db_upgrade_test.ok new file mode 100644 index 0000000..7fa1258 --- /dev/null +++ b/tests/db_upgrade/db_upgrade_test.ok @@ -0,0 +1,180 @@ +Creating db in schema version 0 + +Version 0 db: +PRAGMA foreign_keys=OFF; +BEGIN TRANSACTION; +CREATE TABLE subscriber ( +-- OsmoHLR's DB scheme is modelled roughly after TS 23.008 version 13.3.0 + id INTEGER PRIMARY KEY, + -- Chapter 2.1.1.1 + imsi VARCHAR(15) UNIQUE NOT NULL, + -- Chapter 2.1.2 + msisdn VARCHAR(15) UNIQUE, + -- Chapter 2.2.3: Most recent / current IMEI + imeisv VARCHAR, + -- Chapter 2.4.5 + vlr_number VARCHAR(15), + -- Chapter 2.4.6 + hlr_number VARCHAR(15), + -- Chapter 2.4.8.1 + sgsn_number VARCHAR(15), + -- Chapter 2.13.10 + sgsn_address VARCHAR, + -- Chapter 2.4.8.2 + ggsn_number VARCHAR(15), + -- Chapter 2.4.9.2 + gmlc_number VARCHAR(15), + -- Chapter 2.4.23 + smsc_number VARCHAR(15), + -- Chapter 2.4.24 + periodic_lu_tmr INTEGER, + -- Chapter 2.13.115 + periodic_rau_tau_tmr INTEGER, + -- Chapter 2.1.1.2: network access mode + nam_cs BOOLEAN NOT NULL DEFAULT 1, + nam_ps BOOLEAN NOT NULL DEFAULT 1, + -- Chapter 2.1.8 + lmsi INTEGER, + -- The below purged flags might not even be stored non-volatile, + -- refer to TS 23.012 Chapter 3.6.1.4 + -- Chapter 2.7.5 + ms_purged_cs BOOLEAN NOT NULL DEFAULT 0, + -- Chapter 2.7.6 + ms_purged_ps BOOLEAN NOT NULL DEFAULT 0 +); +INSERT INTO subscriber VALUES(1,'123456789012345','098765432109876',NULL,'MSC-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,0); +INSERT INTO subscriber VALUES(2,'111111111',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,1,0); +INSERT INTO subscriber VALUES(3,'222222222','22222',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,1); +INSERT INTO subscriber VALUES(4,'333333','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,NULL,0,0); +INSERT INTO subscriber VALUES(5,'444444444444444','4444',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,0,0); +INSERT INTO subscriber VALUES(6,'5555555','55555555555555',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,0,0); +CREATE TABLE subscriber_apn ( + subscriber_id INTEGER, -- subscriber.id + apn VARCHAR(256) NOT NULL +); +CREATE TABLE subscriber_multi_msisdn ( +-- Chapter 2.1.3 + subscriber_id INTEGER, -- subscriber.id + msisdn VARCHAR(15) NOT NULL +); +CREATE TABLE auc_2g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_2g INTEGER NOT NULL, -- enum osmo_auth_algo value + ki VARCHAR(32) NOT NULL -- hex string: subscriber's secret key (128bit) +); +INSERT INTO auc_2g VALUES(1,1,'BeefedCafeFaceAcedAddedDecadeFee'); +INSERT INTO auc_2g VALUES(4,2,'33333333333333333333333333333333'); +INSERT INTO auc_2g VALUES(6,4,'55555555555555555555555555555555'); +CREATE TABLE auc_3g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_3g INTEGER NOT NULL, -- enum osmo_auth_algo value + k VARCHAR(32) NOT NULL, -- hex string: subscriber's secret key (128bit) + op VARCHAR(32), -- hex string: operator's secret key (128bit) + opc VARCHAR(32), -- hex string: derived from OP and K (128bit) + sqn INTEGER NOT NULL DEFAULT 0, -- sequence number of key usage + ind_bitlen INTEGER NOT NULL DEFAULT 5 -- nr of index bits at lower SQN end +); +INSERT INTO auc_3g VALUES(1,5,'C01ffedC1cadaeAc1d1f1edAcac1aB0a',NULL,'CededEffacedAceFacedBadFadedBeef',0,5); +INSERT INTO auc_3g VALUES(5,5,'44444444444444444444444444444444','44444444444444444444444444444444',NULL,0,5); +INSERT INTO auc_3g VALUES(6,5,'55555555555555555555555555555555',NULL,'55555555555555555555555555555555',0,5); +CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi) +; +COMMIT; + +Launching osmo-hlr to upgrade db: +osmo-hlr --database $db --db-upgrade --db-check --config-file $srcdir/osmo-hlr.cfg +rc = 0 +DMAIN hlr starting +DDB using database: test.db +DDB Database test.db' has HLR DB schema version 0 +DDB Database test.db' has been upgraded to HLR DB schema version 2 +DMAIN Cmdline option --db-check: Database was opened successfully, quitting. + +Resulting db: +PRAGMA foreign_keys=OFF; +BEGIN TRANSACTION; +CREATE TABLE subscriber ( +-- OsmoHLR's DB scheme is modelled roughly after TS 23.008 version 13.3.0 + id INTEGER PRIMARY KEY, + -- Chapter 2.1.1.1 + imsi VARCHAR(15) UNIQUE NOT NULL, + -- Chapter 2.1.2 + msisdn VARCHAR(15) UNIQUE, + -- Chapter 2.2.3: Most recent / current IMEI + imeisv VARCHAR, + -- Chapter 2.4.5 + vlr_number VARCHAR(15), + -- Chapter 2.4.6 + hlr_number VARCHAR(15), + -- Chapter 2.4.8.1 + sgsn_number VARCHAR(15), + -- Chapter 2.13.10 + sgsn_address VARCHAR, + -- Chapter 2.4.8.2 + ggsn_number VARCHAR(15), + -- Chapter 2.4.9.2 + gmlc_number VARCHAR(15), + -- Chapter 2.4.23 + smsc_number VARCHAR(15), + -- Chapter 2.4.24 + periodic_lu_tmr INTEGER, + -- Chapter 2.13.115 + periodic_rau_tau_tmr INTEGER, + -- Chapter 2.1.1.2: network access mode + nam_cs BOOLEAN NOT NULL DEFAULT 1, + nam_ps BOOLEAN NOT NULL DEFAULT 1, + -- Chapter 2.1.8 + lmsi INTEGER, + -- The below purged flags might not even be stored non-volatile, + -- refer to TS 23.012 Chapter 3.6.1.4 + -- Chapter 2.7.5 + ms_purged_cs BOOLEAN NOT NULL DEFAULT 0, + -- Chapter 2.7.6 + ms_purged_ps BOOLEAN NOT NULL DEFAULT 0 +, last_lu_seen TIMESTAMP default NULL, imei VARCHAR(14)); +INSERT INTO subscriber VALUES(1,'123456789012345','098765432109876',NULL,'MSC-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,0,NULL,NULL); +INSERT INTO subscriber VALUES(2,'111111111',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,1,0,NULL,NULL); +INSERT INTO subscriber VALUES(3,'222222222','22222',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,1,NULL,NULL); +INSERT INTO subscriber VALUES(4,'333333','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,NULL,0,0,NULL,NULL); +INSERT INTO subscriber VALUES(5,'444444444444444','4444',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,0,0,NULL,NULL); +INSERT INTO subscriber VALUES(6,'5555555','55555555555555',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,0,0,NULL,NULL); +CREATE TABLE subscriber_apn ( + subscriber_id INTEGER, -- subscriber.id + apn VARCHAR(256) NOT NULL +); +CREATE TABLE subscriber_multi_msisdn ( +-- Chapter 2.1.3 + subscriber_id INTEGER, -- subscriber.id + msisdn VARCHAR(15) NOT NULL +); +CREATE TABLE auc_2g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_2g INTEGER NOT NULL, -- enum osmo_auth_algo value + ki VARCHAR(32) NOT NULL -- hex string: subscriber's secret key (128bit) +); +INSERT INTO auc_2g VALUES(1,1,'BeefedCafeFaceAcedAddedDecadeFee'); +INSERT INTO auc_2g VALUES(4,2,'33333333333333333333333333333333'); +INSERT INTO auc_2g VALUES(6,4,'55555555555555555555555555555555'); +CREATE TABLE auc_3g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_3g INTEGER NOT NULL, -- enum osmo_auth_algo value + k VARCHAR(32) NOT NULL, -- hex string: subscriber's secret key (128bit) + op VARCHAR(32), -- hex string: operator's secret key (128bit) + opc VARCHAR(32), -- hex string: derived from OP and K (128bit) + sqn INTEGER NOT NULL DEFAULT 0, -- sequence number of key usage + ind_bitlen INTEGER NOT NULL DEFAULT 5 -- nr of index bits at lower SQN end +); +INSERT INTO auc_3g VALUES(1,5,'C01ffedC1cadaeAc1d1f1edAcac1aB0a',NULL,'CededEffacedAceFacedBadFadedBeef',0,5); +INSERT INTO auc_3g VALUES(5,5,'44444444444444444444444444444444','44444444444444444444444444444444',NULL,0,5); +INSERT INTO auc_3g VALUES(6,5,'55555555555555555555555555555555',NULL,'55555555555555555555555555555555',0,5); +CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi) +; +COMMIT; + +Verify that osmo-hlr can open it: +osmo-hlr --database $db --db-check --config-file $srcdir/osmo-hlr.cfg +rc = 0 +DMAIN hlr starting +DDB using database: test.db +DDB Database test.db' has HLR DB schema version 2 +DMAIN Cmdline option --db-check: Database was opened successfully, quitting. diff --git a/tests/db_upgrade/db_upgrade_test.sh b/tests/db_upgrade/db_upgrade_test.sh new file mode 100755 index 0000000..189ebf3 --- /dev/null +++ b/tests/db_upgrade/db_upgrade_test.sh @@ -0,0 +1,82 @@ +#!/bin/sh +srcdir="${1:-.}" +builddir="${2:-.}" +do_equivalence_test="$3" + +set -e + +db="$builddir/test.db" +osmo_hlr="$builddir/../../src/osmo-hlr" +cfg="$srcdir/osmo-hlr.cfg" + +rm -f "$db" +echo "Creating db in schema version 0" +sqlite3 "$db" < "$srcdir/hlr_db_v0.sql" + +echo +echo "Version 0 db:" +sqlite3 "$db" .dump + +set +e + +echo +echo "Launching osmo-hlr to upgrade db:" +echo osmo-hlr --database '$db' --db-upgrade --db-check --config-file '$srcdir/osmo-hlr.cfg' +"$osmo_hlr" --database "$db" --db-upgrade --db-check --config-file "$cfg" >log 2>&1 +echo "rc = $?" +cat log | sed 's@[^ "]*/@@g' + +echo +echo "Resulting db:" +sqlite3 "$db" .dump + +echo +echo "Verify that osmo-hlr can open it:" +echo osmo-hlr --database '$db' --db-check --config-file '$srcdir/osmo-hlr.cfg' +"$osmo_hlr" --database "$db" --db-check --config-file "$cfg" >log 2>&1 +echo "rc = $?" +cat log | sed 's@[^ "]*/@@g' + +dump_sorted_schema(){ + db_file="$1" + tables="$(sqlite3 "$db_file" "SELECT name FROM sqlite_master WHERE type = 'table' order by name")" + for table in $tables; do + echo + echo "Table: $table" + sqlite3 -header "$db_file" "SELECT name,type,\"notnull\",dflt_value,pk FROM PRAGMA_TABLE_INFO('$table') order by name;" + echo + echo "Table $table contents:" + columns="$(sqlite3 "$db_file" "SELECT name FROM PRAGMA_TABLE_INFO('$table') order by name;")" + sqlite3 -header "$db_file" "SELECT $(echo $columns | sed 's/ /,/g') from $table;" + done +} + +if [ -n "$do_equivalence_test" ]; then + # this part requires osmo_interact_vty.py, so this test is not part of the normal run + set -e -x + mint_db="$builddir/mint.db" + rm -f "$mint_db" + + osmo_verify_transcript_vty.py -v \ + -n OsmoHLR -p 4258 \ + -r "$osmo_hlr -c $cfg -l $mint_db" \ + "$srcdir/create_subscribers.vty" + sqlite3 "$mint_db" < "$srcdir/create_subscribers_step2.sql" + + set +x + test_dump="$builddir/test.dump" + mint_dump="$builddir/mint.dump" + + dump_sorted_schema "$db" > "$test_dump" + dump_sorted_schema "$mint_db" > "$mint_dump" + + echo + echo "Newly created sorted schema is:" + cat "$mint_dump" + echo + echo "Diff to upgraded schema:" + diff -u "$mint_dump" "$test_dump" + echo "rc=$?" +fi + +rm -f "$db" diff --git a/tests/db_upgrade/hlr_db_v0.sql b/tests/db_upgrade/hlr_db_v0.sql new file mode 100644 index 0000000..87fcfd3 --- /dev/null +++ b/tests/db_upgrade/hlr_db_v0.sql @@ -0,0 +1,79 @@ +PRAGMA foreign_keys=OFF; +BEGIN TRANSACTION; +CREATE TABLE subscriber ( +-- OsmoHLR's DB scheme is modelled roughly after TS 23.008 version 13.3.0 + id INTEGER PRIMARY KEY, + -- Chapter 2.1.1.1 + imsi VARCHAR(15) UNIQUE NOT NULL, + -- Chapter 2.1.2 + msisdn VARCHAR(15) UNIQUE, + -- Chapter 2.2.3: Most recent / current IMEI + imeisv VARCHAR, + -- Chapter 2.4.5 + vlr_number VARCHAR(15), + -- Chapter 2.4.6 + hlr_number VARCHAR(15), + -- Chapter 2.4.8.1 + sgsn_number VARCHAR(15), + -- Chapter 2.13.10 + sgsn_address VARCHAR, + -- Chapter 2.4.8.2 + ggsn_number VARCHAR(15), + -- Chapter 2.4.9.2 + gmlc_number VARCHAR(15), + -- Chapter 2.4.23 + smsc_number VARCHAR(15), + -- Chapter 2.4.24 + periodic_lu_tmr INTEGER, + -- Chapter 2.13.115 + periodic_rau_tau_tmr INTEGER, + -- Chapter 2.1.1.2: network access mode + nam_cs BOOLEAN NOT NULL DEFAULT 1, + nam_ps BOOLEAN NOT NULL DEFAULT 1, + -- Chapter 2.1.8 + lmsi INTEGER, + -- The below purged flags might not even be stored non-volatile, + -- refer to TS 23.012 Chapter 3.6.1.4 + -- Chapter 2.7.5 + ms_purged_cs BOOLEAN NOT NULL DEFAULT 0, + -- Chapter 2.7.6 + ms_purged_ps BOOLEAN NOT NULL DEFAULT 0 +); +INSERT INTO subscriber VALUES(1,'123456789012345','098765432109876',NULL,'MSC-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,0); +INSERT INTO subscriber VALUES(2,'111111111',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,1,0); +INSERT INTO subscriber VALUES(3,'222222222','22222',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,1); +INSERT INTO subscriber VALUES(4,'333333','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,NULL,0,0); +INSERT INTO subscriber VALUES(5,'444444444444444','4444',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,0,0); +INSERT INTO subscriber VALUES(6,'5555555','55555555555555',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,0,0); +CREATE TABLE subscriber_apn ( + subscriber_id INTEGER, -- subscriber.id + apn VARCHAR(256) NOT NULL +); +CREATE TABLE subscriber_multi_msisdn ( +-- Chapter 2.1.3 + subscriber_id INTEGER, -- subscriber.id + msisdn VARCHAR(15) NOT NULL +); +CREATE TABLE auc_2g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_2g INTEGER NOT NULL, -- enum osmo_auth_algo value + ki VARCHAR(32) NOT NULL -- hex string: subscriber's secret key (128bit) +); +INSERT INTO auc_2g VALUES(1,1,'BeefedCafeFaceAcedAddedDecadeFee'); +INSERT INTO auc_2g VALUES(4,2,'33333333333333333333333333333333'); +INSERT INTO auc_2g VALUES(6,4,'55555555555555555555555555555555'); +CREATE TABLE auc_3g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_3g INTEGER NOT NULL, -- enum osmo_auth_algo value + k VARCHAR(32) NOT NULL, -- hex string: subscriber's secret key (128bit) + op VARCHAR(32), -- hex string: operator's secret key (128bit) + opc VARCHAR(32), -- hex string: derived from OP and K (128bit) + sqn INTEGER NOT NULL DEFAULT 0, -- sequence number of key usage + ind_bitlen INTEGER NOT NULL DEFAULT 5 -- nr of index bits at lower SQN end +); +INSERT INTO auc_3g VALUES(1,5,'C01ffedC1cadaeAc1d1f1edAcac1aB0a',NULL,'CededEffacedAceFacedBadFadedBeef',0,5); +INSERT INTO auc_3g VALUES(5,5,'44444444444444444444444444444444','44444444444444444444444444444444',NULL,0,5); +INSERT INTO auc_3g VALUES(6,5,'55555555555555555555555555555555',NULL,'55555555555555555555555555555555',0,5); +CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi) +; +COMMIT; diff --git a/tests/db_upgrade/osmo-hlr.cfg b/tests/db_upgrade/osmo-hlr.cfg new file mode 100644 index 0000000..7fb12c1 --- /dev/null +++ b/tests/db_upgrade/osmo-hlr.cfg @@ -0,0 +1,6 @@ +log stderr + logging level db notice + logging print category-hex 0 + logging print file 0 + logging print category 1 + logging color 0 diff --git a/tests/testsuite.at b/tests/testsuite.at index 70ae7ae..a8efe42 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -36,3 +36,10 @@ sqlite3 db_test.db < $abs_top_srcdir/sql/hlr.sql AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [experr]) AT_CLEANUP + +AT_SETUP([db_upgrade]) +AT_KEYWORDS([db_upgrade]) +cat $abs_srcdir/db_upgrade/db_upgrade_test.ok > expout +cat $abs_srcdir/db_upgrade/db_upgrade_test.err > experr +AT_CHECK([$abs_srcdir/db_upgrade/db_upgrade_test.sh $abs_srcdir/db_upgrade $abs_builddir/db_upgrade], [], [expout], [experr]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 Gerrit-Change-Number: 15913 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 Thu Oct 31 03:50:00 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 03:50:00 +0000 Subject: Change in osmo-hlr[master]: hlr db schema 3: hlr_number -> msc_number References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15914 ) Change subject: hlr db schema 3: hlr_number -> msc_number ...................................................................... hlr db schema 3: hlr_number -> msc_number The osmo-hlr DB schema indicates a hlr_number column and references it as 3GPP TS 23.008 chapter 2.4.6. However, chapter 2.4.6 refers to the "MSC number", while the "HLR number" is chapter 2.4.7. Taking a closer look, 2.4.6 says "The MSC number is [...] stored in the HLR", while 2.4.7 says "The HLR number may be stored in the VLR". As quite obvious, the HLR does not store the HLR number. This was a typo from the start. The osmo-hlr code base so far does not use the hlr_number column at all, so we get away with renaming the column without any effects on the code base. However, let's rather make this a new schema version to be safe. Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 --- M doc/manuals/chapters/subscribers.adoc M sql/hlr.sql M src/db.c M tests/db_upgrade/db_upgrade_test.ok 4 files changed, 50 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/14/15914/1 diff --git a/doc/manuals/chapters/subscribers.adoc b/doc/manuals/chapters/subscribers.adoc index e09e99a..ab41b0f 100644 --- a/doc/manuals/chapters/subscribers.adoc +++ b/doc/manuals/chapters/subscribers.adoc @@ -52,7 +52,7 @@ |aud3g.ind_bitlen|5|Nr of index bits at lower SQN end |apn|| |vlr_number||3GPP TS 23.008 chapter 2.4.5 -|hlr_number||3GPP TS 23.008 chapter 2.4.6 +|msc_number||3GPP TS 23.008 chapter 2.4.6 |sgsn_number||3GPP TS 23.008 chapter 2.4.8.1 |sgsn_address||3GPP TS 23.008 chapter 2.13.10 |ggsn_number||3GPP TS 23.008 chapter 2.4.8.2 diff --git a/sql/hlr.sql b/sql/hlr.sql index 10838f2..a627f0c 100644 --- a/sql/hlr.sql +++ b/sql/hlr.sql @@ -12,7 +12,7 @@ -- Chapter 2.4.5 vlr_number VARCHAR(15), -- Chapter 2.4.6 - hlr_number VARCHAR(15), + msc_number VARCHAR(15), -- Chapter 2.4.8.1 sgsn_number VARCHAR(15), -- Chapter 2.13.10 @@ -76,4 +76,4 @@ -- Set HLR database schema version number -- Note: This constant is currently duplicated in src/db.c and must be kept in sync! -PRAGMA user_version = 2; +PRAGMA user_version = 3; diff --git a/src/db.c b/src/db.c index 31c4ba5..4ae491e 100644 --- a/src/db.c +++ b/src/db.c @@ -28,7 +28,7 @@ #include "db_bootstrap.h" /* This constant is currently duplicated in sql/hlr.sql and must be kept in sync! */ -#define CURRENT_SCHEMA_VERSION 2 +#define CURRENT_SCHEMA_VERSION 3 #define SEL_COLUMNS \ "id," \ @@ -329,6 +329,40 @@ return rc; } +static int db_upgrade_v3(struct db_context *dbc) +{ + sqlite3_stmt *stmt; + int rc; + const char *update_stmt_sql = "ALTER TABLE subscriber RENAME COLUMN hlr_number TO msc_number"; + const char *set_schema_version_sql = "PRAGMA user_version = 3"; + + rc = sqlite3_prepare_v2(dbc->db, update_stmt_sql, -1, &stmt, NULL); + if (rc != SQLITE_OK) { + LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", update_stmt_sql); + return rc; + } + rc = sqlite3_step(stmt); + db_remove_reset(stmt); + sqlite3_finalize(stmt); + if (rc != SQLITE_DONE) { + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 3\n"); + return rc; + } + + rc = sqlite3_prepare_v2(dbc->db, set_schema_version_sql, -1, &stmt, NULL); + if (rc != SQLITE_OK) { + LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", set_schema_version_sql); + return rc; + } + rc = sqlite3_step(stmt); + if (rc != SQLITE_DONE) + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 3\n"); + + db_remove_reset(stmt); + sqlite3_finalize(stmt); + return rc; +} + static int db_get_user_version(struct db_context *dbc) { const char *user_version_sql = "PRAGMA user_version"; @@ -459,6 +493,15 @@ } version = 2; /* fall through */ + case 2: + rc = db_upgrade_v3(dbc); + if (rc != SQLITE_DONE) { + LOGP(DDB, LOGL_ERROR, "Failed to upgrade HLR DB schema to version 3: (rc=%d) %s\n", + rc, sqlite3_errmsg(dbc->db)); + goto out_free; + } + version = 3; + /* fall through */ /* case N: ... */ default: break; diff --git a/tests/db_upgrade/db_upgrade_test.ok b/tests/db_upgrade/db_upgrade_test.ok index 7fa1258..1a1d1b8 100644 --- a/tests/db_upgrade/db_upgrade_test.ok +++ b/tests/db_upgrade/db_upgrade_test.ok @@ -87,7 +87,7 @@ DMAIN hlr starting DDB using database: test.db DDB Database test.db' has HLR DB schema version 0 -DDB Database test.db' has been upgraded to HLR DB schema version 2 +DDB Database test.db' has been upgraded to HLR DB schema version 3 DMAIN Cmdline option --db-check: Database was opened successfully, quitting. Resulting db: @@ -105,7 +105,7 @@ -- Chapter 2.4.5 vlr_number VARCHAR(15), -- Chapter 2.4.6 - hlr_number VARCHAR(15), + msc_number VARCHAR(15), -- Chapter 2.4.8.1 sgsn_number VARCHAR(15), -- Chapter 2.13.10 @@ -176,5 +176,5 @@ rc = 0 DMAIN hlr starting DDB using database: test.db -DDB Database test.db' has HLR DB schema version 2 +DDB Database test.db' has HLR DB schema version 3 DMAIN Cmdline option --db-check: Database was opened successfully, quitting. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 Gerrit-Change-Number: 15914 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 Thu Oct 31 03:50:00 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 03:50:00 +0000 Subject: Change in osmo-hlr[master]: add osmo_gsup_msgb_alloc() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15915 ) Change subject: add osmo_gsup_msgb_alloc() ...................................................................... add osmo_gsup_msgb_alloc() Throughout osmo-hlr's code, the GSUP msgb allocation is duplicated as: msgb_alloc_headroom(1024+16, 16, "foo"); Instead, use one common function to keep the magic numbers in one place. Change-Id: I40e99b5bc4fd8f750da7643c03b2119ac3bfd95e --- M src/gsup_server.c M src/gsup_server.h M src/hlr.c M src/hlr_ussd.c M src/luop.c 5 files changed, 17 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/15/15915/1 diff --git a/src/gsup_server.c b/src/gsup_server.c index e75bbd7..2870e9d 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -30,6 +30,13 @@ #include "gsup_server.h" #include "gsup_router.h" +struct msgb *osmo_gsup_msgb_alloc(const char *label) +{ + struct msgb *msg = msgb_alloc_headroom(1024+16, 16, label); + OSMO_ASSERT(msg); + return msg; +} + static void osmo_gsup_server_send(struct osmo_gsup_conn *conn, int proto_ext, struct msgb *msg_tx) { diff --git a/src/gsup_server.h b/src/gsup_server.h index 9c4d483..14f5013 100644 --- a/src/gsup_server.h +++ b/src/gsup_server.h @@ -47,6 +47,7 @@ bool supports_ps; /* client supports OSMO_GSUP_CN_DOMAIN_PS */ }; +struct msgb *osmo_gsup_msgb_alloc(const char *label); int osmo_gsup_conn_send(struct osmo_gsup_conn *conn, struct msgb *msg); int osmo_gsup_conn_ccm_get(const struct osmo_gsup_conn *clnt, uint8_t **addr, diff --git a/src/hlr.c b/src/hlr.c index 6bfc141..aef890e 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -128,7 +128,7 @@ } /* Send ISD to MSC/SGSN */ - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP ISD UPDATE"); + msg_out = osmo_gsup_msgb_alloc("GSUP ISD UPDATE"); if (msg_out == NULL) { LOGP(DLGSUP, LOGL_ERROR, "IMSI='%s': Cannot notify GSUP client; could not allocate msg buffer " @@ -271,7 +271,7 @@ gsup_out.num_auth_vectors = rc; } - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP AUC response"); + msg_out = osmo_gsup_msgb_alloc("GSUP AUC response"); osmo_gsup_encode(msg_out, &gsup_out); return osmo_gsup_conn_send(conn, msg_out); } @@ -451,7 +451,7 @@ gsup_reply.cause = GMM_CAUSE_NET_FAIL; } - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP AUC response"); + msg_out = osmo_gsup_msgb_alloc("GSUP AUC response"); osmo_gsup_encode(msg_out, &gsup_reply); return osmo_gsup_conn_send(conn, msg_out); } @@ -466,7 +466,7 @@ OSMO_STRLCPY_ARRAY(gsup_reply.imsi, imsi); gsup_reply.message_type = type_err; gsup_reply.cause = err_cause; - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP ERR response"); + msg_out = osmo_gsup_msgb_alloc("GSUP ERR response"); OSMO_ASSERT(msg_out); osmo_gsup_encode(msg_out, &gsup_reply); LOGP(DMAIN, LOGL_NOTICE, "Tx %s\n", osmo_gsup_message_type_name(type_err)); @@ -525,7 +525,7 @@ /* Accept all IMEIs */ gsup_reply.imei_result = OSMO_GSUP_IMEI_RESULT_ACK; gsup_reply.message_type = OSMO_GSUP_MSGT_CHECK_IMEI_RESULT; - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP Check_IMEI response"); + msg_out = osmo_gsup_msgb_alloc("GSUP Check_IMEI response"); memcpy(gsup_reply.imsi, gsup->imsi, sizeof(gsup_reply.imsi)); osmo_gsup_encode(msg_out, &gsup_reply); return osmo_gsup_conn_send(conn, msg_out); @@ -591,7 +591,7 @@ end: /* Send error back to source */ if (ret) { - struct msgb *msg_err = msgb_alloc_headroom(1024+16, 16, "GSUP forward ERR response"); + struct msgb *msg_err = osmo_gsup_msgb_alloc("GSUP forward ERR response"); OSMO_ASSERT(msg_err); gsup_err->message_type = OSMO_GSUP_MSGT_E_ROUTING_ERROR; osmo_gsup_encode(msg_err, gsup_err); diff --git a/src/hlr_ussd.c b/src/hlr_ussd.c index 1568815..be0fee0 100644 --- a/src/hlr_ussd.c +++ b/src/hlr_ussd.c @@ -464,7 +464,7 @@ } if (is_euse_originated) { - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP USSD FW"); + msg_out = osmo_gsup_msgb_alloc("GSUP USSD FW"); OSMO_ASSERT(msg_out); /* Received from EUSE, Forward to VLR */ osmo_gsup_encode(msg_out, gsup); @@ -481,7 +481,7 @@ LOGPSS(ss, LOGL_ERROR, "Cannot find conn for EUSE %s\n", addr); ss_tx_error(ss, req->invoke_id, GSM0480_ERR_CODE_SYSTEM_FAILURE); } else { - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP USSD FW"); + msg_out = osmo_gsup_msgb_alloc("GSUP USSD FW"); OSMO_ASSERT(msg_out); osmo_gsup_encode(msg_out, gsup); osmo_gsup_conn_send(conn, msg_out); diff --git a/src/luop.c b/src/luop.c index aff4d81..75f021f 100644 --- a/src/luop.c +++ b/src/luop.c @@ -50,7 +50,7 @@ { struct msgb *msg_out; - msg_out = msgb_alloc_headroom(1024+16, 16, "GSUP LUOP"); + msg_out = osmo_gsup_msgb_alloc("GSUP LUOP"); OSMO_ASSERT(msg_out); osmo_gsup_encode(msg_out, gsup); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I40e99b5bc4fd8f750da7643c03b2119ac3bfd95e Gerrit-Change-Number: 15915 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 Thu Oct 31 03:50:01 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 03:50:01 +0000 Subject: Change in osmo-hlr[master]: add osmo_gsup_conn_send_err_reply() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15916 ) Change subject: add osmo_gsup_conn_send_err_reply() ...................................................................... add osmo_gsup_conn_send_err_reply() Remove hlr.c's static gsup_send_err_reply(), and create new osmo_gsup_conn_send_err_reply(), as used in osmo-msc. It includes more of the newer IEs in the response, like an SS/USSD session id. Prepares for adding D-GSM / MS lookup, which will need this function moved to a non-static context. Change-Id: I792fd9993ab2a323af58782a357d71205c43b72a --- M src/gsup_server.c M src/gsup_server.h M src/hlr.c 3 files changed, 41 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/16/15916/1 diff --git a/src/gsup_server.c b/src/gsup_server.c index 2870e9d..b08d6ce 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -57,6 +57,39 @@ return 0; } +int osmo_gsup_conn_send_err_reply(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup_orig, + enum gsm48_gmm_cause cause) +{ + struct osmo_gsup_message gsup_reply; + struct msgb *msg_out; + + /* No need to answer if we couldn't parse an ERROR message type, only REQUESTs need an error reply. */ + if (!OSMO_GSUP_IS_MSGT_REQUEST(gsup_orig->message_type)) + return 0; + + gsup_reply = (struct osmo_gsup_message){ + .cause = cause, + .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), + .message_class = gsup_orig->message_class, + + /* RP-Message-Reference is mandatory for SM Service */ + .sm_rp_mr = gsup_orig->sm_rp_mr, + }; + + OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + + /* For SS/USSD, it's important to keep both session state and ID IEs */ + if (gsup_orig->session_state != OSMO_GSUP_SESSION_STATE_NONE) { + gsup_reply.session_state = OSMO_GSUP_SESSION_STATE_END; + gsup_reply.session_id = gsup_orig->session_id; + } + + msg_out = osmo_gsup_msgb_alloc("GSUP ERR response"); + OSMO_ASSERT(msg_out); + osmo_gsup_encode(msg_out, &gsup_reply); + return osmo_gsup_conn_send(conn, msg_out); +} + static int osmo_gsup_conn_oap_handle(struct osmo_gsup_conn *conn, struct msgb *msg_rx) { diff --git a/src/gsup_server.h b/src/gsup_server.h index 14f5013..1f67c29 100644 --- a/src/gsup_server.h +++ b/src/gsup_server.h @@ -50,6 +50,8 @@ struct msgb *osmo_gsup_msgb_alloc(const char *label); int osmo_gsup_conn_send(struct osmo_gsup_conn *conn, struct msgb *msg); +int osmo_gsup_conn_send_err_reply(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup_orig, + enum gsm48_gmm_cause cause); int osmo_gsup_conn_ccm_get(const struct osmo_gsup_conn *clnt, uint8_t **addr, uint8_t tag); diff --git a/src/hlr.c b/src/hlr.c index aef890e..0cc0448 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -456,23 +456,6 @@ return osmo_gsup_conn_send(conn, msg_out); } -static int gsup_send_err_reply(struct osmo_gsup_conn *conn, const char *imsi, - enum osmo_gsup_message_type type_in, uint8_t err_cause) -{ - int type_err = OSMO_GSUP_TO_MSGT_ERROR(type_in); - struct osmo_gsup_message gsup_reply = {0}; - struct msgb *msg_out; - - OSMO_STRLCPY_ARRAY(gsup_reply.imsi, imsi); - gsup_reply.message_type = type_err; - gsup_reply.cause = err_cause; - msg_out = osmo_gsup_msgb_alloc("GSUP ERR response"); - OSMO_ASSERT(msg_out); - osmo_gsup_encode(msg_out, &gsup_reply); - LOGP(DMAIN, LOGL_NOTICE, "Tx %s\n", osmo_gsup_message_type_name(type_err)); - return osmo_gsup_conn_send(conn, msg_out); -} - static int rx_check_imei_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup) { struct osmo_gsup_message gsup_reply = {0}; @@ -483,7 +466,7 @@ /* Require IMEI */ if (!gsup->imei_enc) { LOGP(DMAIN, LOGL_ERROR, "%s: missing IMEI\n", gsup->imsi); - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_conn_send_err_reply(conn, gsup, GMM_CAUSE_INV_MAND_INFO); return -1; } @@ -491,7 +474,7 @@ rc = gsm48_decode_bcd_number2(imei, sizeof(imei), gsup->imei_enc, gsup->imei_enc_len, 0); if (rc < 0) { LOGP(DMAIN, LOGL_ERROR, "%s: failed to decode IMEI (rc: %i)\n", gsup->imsi, rc); - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_conn_send_err_reply(conn, gsup, GMM_CAUSE_INV_MAND_INFO); return -1; } @@ -499,7 +482,7 @@ if (strlen(imei) != GSM23003_IMEI_NUM_DIGITS_NO_CHK) { LOGP(DMAIN, LOGL_ERROR, "%s: wrong encoded IMEI length (IMEI: '%s', %lu, %i)\n", gsup->imsi, imei, strlen(imei), GSM23003_IMEI_NUM_DIGITS_NO_CHK); - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_conn_send_err_reply(conn, gsup, GMM_CAUSE_INV_MAND_INFO); return -1; } @@ -509,7 +492,7 @@ if (g_hlr->store_imei) { LOGP(DAUC, LOGL_DEBUG, "IMSI='%s': storing IMEI = %s\n", gsup->imsi, imei); if (db_subscr_update_imei_by_imsi(g_hlr->dbc, gsup->imsi, imei) < 0) { - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_conn_send_err_reply(conn, gsup, GMM_CAUSE_INV_MAND_INFO); return -1; } } else { @@ -517,7 +500,7 @@ LOGP(DMAIN, LOGL_INFO, "IMSI='%s': has IMEI = %s (consider setting 'store-imei')\n", gsup->imsi, imei); struct hlr_subscriber subscr; if (db_subscr_get_by_imsi(g_hlr->dbc, gsup->imsi, &subscr) < 0) { - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_conn_send_err_reply(conn, gsup, GMM_CAUSE_INV_MAND_INFO); return -1; } } @@ -626,7 +609,7 @@ * digits is impossible. Even 5 digits is a highly theoretical case */ if (strlen(gsup.imsi) < 5) { /* TODO: move this check to libosmogsm/gsup.c? */ LOGP(DMAIN, LOGL_ERROR, "IMSI too short: %s\n", osmo_quote_str(gsup.imsi, -1)); - gsup_send_err_reply(conn, gsup.imsi, gsup.message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_conn_send_err_reply(conn, &gsup, GMM_CAUSE_INV_MAND_INFO); msgb_free(msg); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I792fd9993ab2a323af58782a357d71205c43b72a Gerrit-Change-Number: 15916 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 Thu Oct 31 04:35:47 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 04:35:47 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_interact_vty.py: fix py3 encoding bug References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/15917 ) Change subject: osmo_interact_vty.py: fix py3 encoding bug ...................................................................... osmo_interact_vty.py: fix py3 encoding bug That code in common.py is hit when invoking via osmo_interact_vty.py. It has a unicode string already, its attempt to decode hits a python exception (no 'decode' method). Must be a long standing bug that no-one saw because we're only ever using the osmo_verify_transcript_vty.py variant. Change-Id: I1b4a629f12863c498a8681b555f57b4e255cebfb --- M osmopy/osmo_interact/common.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/17/15917/1 diff --git a/osmopy/osmo_interact/common.py b/osmopy/osmo_interact/common.py index 39163a2..cc7e190 100644 --- a/osmopy/osmo_interact/common.py +++ b/osmopy/osmo_interact/common.py @@ -429,7 +429,7 @@ for f_path in (cmd_files or []): with open(f_path, 'r') as f: - interact.feed_commands(output, f.read().decode('utf-8').splitlines()) + interact.feed_commands(output, f.read().splitlines()) if not (cmd_str or cmd_files): while True: -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/15917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: I1b4a629f12863c498a8681b555f57b4e255cebfb Gerrit-Change-Number: 15917 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 Thu Oct 31 08:15:35 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 31 Oct 2019 08:15:35 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total 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/+/15908 to look at the new patch set (#2). Change subject: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total ...................................................................... scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total Make sure the variables n_errors, n_bursts_bits, n_bits_total are always initalized. For example in rx_tchh_fn() the value for n_errors is defined in a switch statement, where the default lets n_errors uninitalized, which is in that particular case a theoretical problem, however, lets make sure that the variables n_errors, n_bursts_bits and n_bits_total are always initalized with 0 Related: CID#205452 Related: CID#205451 Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 11 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/15908/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 Gerrit-Change-Number: 15908 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Thu Oct 31 10:38:08 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 31 Oct 2019 10:38:08 +0000 Subject: Change in osmo-bts[master]: l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15918 ) Change subject: l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH ...................................................................... l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH The MPH INFO MEAS IND indication, which contains the uplink measurement data is sent in parallel to the PH DATA and TCH indications as a separate indications. This makes the overall uplink measurement data processing unnecessarly complex. So lets put the data that is relevant for measurement into the PH DATA and TCH indications directly. This change only affects osmo-bts-trx at the moment. In order to keep the upper layers (l1sap.c) compatible we add an autodection to switch between separate measurement indications and included measurement data. Related: OS#2977 Depends: libosmocore I2c34b02d329f9df190c5035c396403ca0a4f9c42 Change-Id: I710d0b7cf193afa8515807836ee69b8b7db84a84 --- M include/osmo-bts/scheduler_backend.h M src/common/l1sap.c M src/common/scheduler.c M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c 6 files changed, 114 insertions(+), 96 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/18/15918/1 diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index d713900..4959853 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -52,7 +52,8 @@ enum osmo_ph_pres_info_type presence_info); int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len); + enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len, + int16_t ta_offs_256bits, uint16_t ber10k, float rssi); ubit_t *tx_idle_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan, uint8_t bid, uint16_t *nbits); diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 7bf0b09..ec6f287 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -62,6 +62,17 @@ #define CB_BCCH -3 #define CB_IDLE -4 +/* We are capable to use two different sources to receive measurement data from + * lower layers. The first source is the MPH INFO MEAS IND, which is an + * indication for itsself that is passed up in parallel to the payload data + * (see also PRIM_PH_DATA, PRIM_TCH). This idea is obsolete, however it is + * still used with some BTS implementations). The second source is to use the + * measurement data that is contained inside struct ph_data_param + * (PRIM_PH_DATA) and struct ph_tch_param (PRIM_TCH). Which source is used is + * determined automatically. Once we receive an MPH INFO MEAS IND, we fall back + * to the old (first) source. (See also ticket: OS#2977) */ +static bool tch_data_meas_present = true; + /* according to TS 05.02 Clause 7 Table 3 of 9 an Figure 8a */ static const int ccch_block_table[51] = { CB_FCCH, CB_SCH,/* 0..1 */ @@ -626,42 +637,81 @@ } /* measurement information received from bts model */ -static int l1sap_info_meas_ind(struct gsm_bts_trx *trx, - struct osmo_phsap_prim *l1sap, - struct info_meas_ind_param *info_meas_ind) +static void process_l1sap_meas_data(struct gsm_bts_trx *trx, + struct osmo_phsap_prim *l1sap, + enum osmo_ph_prim ind_type) { struct bts_ul_meas ulm; struct gsm_lchan *lchan; + struct info_meas_ind_param *info_meas_ind = &l1sap->u.info.u.meas_ind; + struct ph_data_param *ph_data_ind = &l1sap->u.data; + struct ph_tch_param *ph_tch_ind = &l1sap->u.tch; + uint8_t chan_nr; + uint32_t fn; + uint8_t inv_rssi; + uint8_t is_sub; + int16_t ta_offs_256bits; + uint16_t ber10k; - lchan = get_active_lchan_by_chan_nr(trx, info_meas_ind->chan_nr); - if (!lchan) { - LOGPFN(DL1P, LOGL_ERROR, info_meas_ind->fn, - "No lchan for MPH INFO MEAS IND (chan_nr=%s)\n", rsl_chan_nr_str(info_meas_ind->chan_nr)); - return 0; + switch (ind_type) { + case PRIM_MPH_INFO: + /* (legacy way, see also OS#2977) */ + chan_nr = info_meas_ind->chan_nr; + fn = info_meas_ind->fn; + inv_rssi = info_meas_ind->inv_rssi; + is_sub = info_meas_ind->is_sub; + ta_offs_256bits = info_meas_ind->ta_offs_256bits; + ber10k = info_meas_ind->ber10k; + break; + case PRIM_TCH: + chan_nr = ph_tch_ind->chan_nr; + fn = ph_tch_ind->fn; + inv_rssi = abs(ph_tch_ind->rssi); + is_sub = ph_tch_ind->is_sub; + ta_offs_256bits = ph_tch_ind->ta_offs_256bits; + ber10k = ph_tch_ind->ber10k; + break; + case PRIM_PH_DATA: + chan_nr = ph_data_ind->chan_nr; + fn = ph_data_ind->fn; + inv_rssi = abs(ph_data_ind->rssi); + is_sub = ph_data_ind->is_sub; + ta_offs_256bits = ph_data_ind->ta_offs_256bits; + ber10k = ph_data_ind->ber10k; + break; + default: + OSMO_ASSERT(false); } - DEBUGPFN(DL1P, info_meas_ind->fn, - "%s MPH_INFO meas ind, ta_offs_256bits=%d, ber10k=%d, inv_rssi=%u\n", - gsm_lchan_name(lchan), info_meas_ind->ta_offs_256bits, - info_meas_ind->ber10k, info_meas_ind->inv_rssi); + lchan = get_active_lchan_by_chan_nr(trx, chan_nr); + if (!lchan) { + LOGPFN(DL1P, LOGL_ERROR, fn, + "No lchan for MPH INFO MEAS IND (chan_nr=%s)\n", + rsl_chan_nr_str(chan_nr)); + return; + } + + DEBUGPFN(DL1P, fn, + "%s MPH_INFO meas ind, ta_offs_256bits=%d, ber10k=%d, inv_rssi=%u\n", + gsm_lchan_name(lchan), ta_offs_256bits, ber10k, inv_rssi); /* in the GPRS case we are not interested in measurement * processing. The PCU will take care of it */ if (lchan->type == GSM_LCHAN_PDTCH) - return 0; + return; memset(&ulm, 0, sizeof(ulm)); - ulm.ta_offs_256bits = info_meas_ind->ta_offs_256bits; - ulm.ber10k = info_meas_ind->ber10k; - ulm.inv_rssi = info_meas_ind->inv_rssi; - ulm.is_sub = info_meas_ind->is_sub; + ulm.ta_offs_256bits = ta_offs_256bits; + ulm.ber10k = ber10k; + ulm.inv_rssi = inv_rssi; + ulm.is_sub = is_sub; /* we assume that symbol period is 1 bit: */ - set_ms_to_data(lchan, info_meas_ind->ta_offs_256bits / 256, true); + set_ms_to_data(lchan, ta_offs_256bits / 256, true); - lchan_meas_process_measurement(lchan, &ulm, info_meas_ind->fn); + lchan_meas_process_measurement(lchan, &ulm, fn); - return 0; + return; } /* any L1 MPH_INFO indication prim received from bts model */ @@ -682,7 +732,12 @@ &info->u.time_ind); break; case PRIM_INFO_MEAS: - rc = l1sap_info_meas_ind(trx, l1sap, &info->u.meas_ind); + /* See above */ + LOGP(DL1P, LOGL_NOTICE, "MPH_INFO MEAS IND received, will now only use data from MEAS IND! (OS#2977)\n"); + tch_data_meas_present = false; + + process_l1sap_meas_data(trx, l1sap, PRIM_MPH_INFO); + rc = 0; break; default: LOGP(DL1P, LOGL_NOTICE, "unknown MPH_INFO ind type %d\n", @@ -1197,6 +1252,12 @@ return -EINVAL; } + /* The ph_data_param contained in the l1sap primitive may contain + * measurement data. If this data is present, forward it for + * processing */ + if (tch_data_meas_present == true) + process_l1sap_meas_data(trx, l1sap, PRIM_PH_DATA); + if (ts_is_pdch(&trx->ts[tn])) { lchan = get_lchan_by_chan_nr(trx, chan_nr); if (!lchan) @@ -1301,6 +1362,12 @@ return 0; } + /* The ph_tch_param contained in the l1sap primitive may contain + * measurement data. If this data is present, forward it for + * processing */ + if (tch_data_meas_present == true) + process_l1sap_meas_data(trx, l1sap, PRIM_TCH); + msgb_pull(msg, sizeof(*l1sap)); /* Low level layers always call us when TCH content is expected, even if diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3adfc49..7155cbb 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -738,7 +738,8 @@ } int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len) + enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len, + int16_t ta_offs_256bits, uint16_t ber10k, float rssi) { struct msgb *msg; struct osmo_phsap_prim *l1sap; @@ -754,6 +755,10 @@ PRIM_OP_INDICATION, msg); l1sap->u.tch.chan_nr = chan_nr; l1sap->u.tch.fn = fn; + l1sap->u.tch.rssi = (int8_t) (rssi); + l1sap->u.tch.ber10k = ber10k; + l1sap->u.tch.ta_offs_256bits = ta_offs_256bits; + msg->l2h = msgb_put(msg, tch_len); if (tch_len) memcpy(msg->l2h, tch, tch_len); diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 38b43b9..b28c894 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -572,40 +572,6 @@ return l1sap_up(bts->c0, &l1sap); } - -static void l1if_fill_meas_res(struct osmo_phsap_prim *l1sap, uint8_t chan_nr, int16_t toa256, - float ber, float rssi, uint32_t fn) -{ - memset(l1sap, 0, sizeof(*l1sap)); - osmo_prim_init(&l1sap->oph, SAP_GSM_PH, PRIM_MPH_INFO, - PRIM_OP_INDICATION, NULL); - l1sap->u.info.type = PRIM_INFO_MEAS; - l1sap->u.info.u.meas_ind.chan_nr = chan_nr; - l1sap->u.info.u.meas_ind.ta_offs_256bits = toa256; - l1sap->u.info.u.meas_ind.ber10k = (unsigned int) (ber * 10000); - l1sap->u.info.u.meas_ind.inv_rssi = (uint8_t) (rssi * -1); - l1sap->u.info.u.meas_ind.fn = fn; -} - -int l1if_process_meas_res(struct gsm_bts_trx *trx, uint8_t tn, uint32_t fn, uint8_t chan_nr, - int n_errors, int n_bits_total, float rssi, int16_t toa256) -{ - struct gsm_lchan *lchan = &trx->ts[tn].lchan[l1sap_chan2ss(chan_nr)]; - struct osmo_phsap_prim l1sap; - /* 100% BER is n_bits_total is 0 */ - float ber = n_bits_total==0 ? 1.0 : (float)n_errors / (float)n_bits_total; - - LOGPFN(DMEAS, LOGL_DEBUG, fn, "RX UL measurement for %s fn=%u chan_nr=0x%02x MS pwr=%ddBm rssi=%.1f dBFS " - "ber=%.2f%% (%d/%d bits) L1_ta=%d rqd_ta=%d toa256=%d\n", - gsm_lchan_name(lchan), fn, chan_nr, ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power_ctrl.current), - rssi, ber*100, n_errors, n_bits_total, lchan->meas.l1_info[1], lchan->rqd_ta, toa256); - - l1if_fill_meas_res(&l1sap, chan_nr, toa256, ber, rssi, fn); - - return l1sap_up(trx, &l1sap); -} - - /* primitive from common part */ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 4ff1f97..7370999 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -115,8 +115,6 @@ 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); -int l1if_process_meas_res(struct gsm_bts_trx *trx, uint8_t tn, uint32_t fn, uint8_t chan_nr, - int n_errors, int n_bits_total, float rssi, int16_t toa256); static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) { diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 88e4f3a..3f6d604 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -198,11 +198,6 @@ if (++(l1ts->chan_state[chan].lost_frames) > 1) { /* TODO: Should we pass old TOA here? Otherwise we risk * unnecessary decreasing TA */ - - /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, tn, fn, trx_chan_desc[chan].chan_nr | tn, - 456, 456, -110, 0); - /* FIXME: use actual values for BER etc */ _sched_compose_ph_data_ind(l1t, tn, 0, chan, NULL, 0, -110, 0, 0, 10000, PRES_INFO_INVALID); @@ -351,6 +346,9 @@ uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; struct osmo_phsap_prim *l1sap; + int32_t *toa256_sum = &chan_state->toa256_sum; + uint8_t *toa_num = &chan_state->toa_num; + int16_t toa256; /* handle loss detection of received TCH frames */ if (rsl_cmode == RSL_CMOD_SPD_SPEECH @@ -396,8 +394,14 @@ LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode invalid, please fix!\n"); len = 0; } - if (len) - _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len); + + if (len) { + if (*toa_num == 0) + toa256 = 0; + else + toa256 = *toa256_sum / *toa_num; + _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len, toa256, 10000, 127); + } } /* get frame and unlink from queue */ @@ -989,11 +993,6 @@ l2_len = GSM_MACBLOCK_LEN; /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, - *rssi_sum / *rssi_num, - *toa256_sum / *toa_num); lqual_cb = *ci_cb_num ? (*ci_cb_sum / *ci_cb_num) : 0; ber10k = compute_ber10k(n_bits_total, n_errors); return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, @@ -1103,12 +1102,6 @@ /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, - *rssi_sum / *rssi_num, - *toa256_sum / *toa_num); - if (rc <= 0) { LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, "Received bad PDTCH (%u/%u)\n", @@ -1144,6 +1137,7 @@ struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); unsigned int fn_begin; + uint16_t ber10k; /* handle rach, if handover rach detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1243,17 +1237,13 @@ if (rc != GSM_MACBLOCK_LEN && lchan->ecu_state) osmo_ecu_frame_in(lchan->ecu_state, bfi_flag, tch_data, rc); + ber10k = compute_ber10k(n_bits_total, n_errors); if (bfi_flag) goto bfi; /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { - uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); - l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, - bi->rssi, bi->toa256); _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, /* FIXME: AVG RSSI and ToA256 */ @@ -1314,12 +1304,8 @@ /* TCH or BFI */ compose_l1sap: fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); - l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, - bi->rssi, bi->toa256); return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, - tch_data, rc); + tch_data, rc, bi->toa256, ber10k, bi->rssi); } /*! \brief a single TCH/H burst was received by the PHY, process it */ @@ -1345,6 +1331,7 @@ */ int fn_is_odd = (((bi->fn + 26 - 10) % 26) >> 2) & 1; unsigned int fn_begin; + uint16_t ber10k; /* handle RACH, if handover RACH detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1387,6 +1374,8 @@ } *mask = 0x0; + ber10k = compute_ber10k(n_bits_total, n_errors); + /* skip second of two TCH frames of FACCH was received */ if (chan_state->ul_ongoing_facch) { chan_state->ul_ongoing_facch = 0; @@ -1466,10 +1455,6 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0); else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); - l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, bi->rssi, - bi->toa256); _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, /* FIXME: AVG both RSSI and ToA */ @@ -1535,12 +1520,8 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H0); else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H1); - l1if_process_meas_res(l1t->trx, bi->tn, fn_begin, - trx_chan_desc[chan].chan_nr | bi->tn, - n_errors, n_bits_total, bi->rssi, - bi->toa256); return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, - tch_data, rc); + tch_data, rc, bi->toa256, ber10k, bi->rssi); } /* schedule all frames of all TRX for given FN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I710d0b7cf193afa8515807836ee69b8b7db84a84 Gerrit-Change-Number: 15918 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 Oct 31 11:29:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 11:29:02 +0000 Subject: Change in osmo-hlr[master]: db upgrade to v2: log version 2, not 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15910 ) Change subject: db upgrade to v2: log version 2, not 1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I9237b64e5748e693a5f039c5a5554d417eed3633 Gerrit-Change-Number: 15910 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 11: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 Thu Oct 31 11:30:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 11:30:30 +0000 Subject: Change in osmo-hlr[master]: fix upgrade to version 2: imei column default value In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15911 ) Change subject: fix upgrade to version 2: imei column default value ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I68a00014a3d603fcba8781470bc5285f78b538d0 Gerrit-Change-Number: 15911 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 11:30: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 Oct 31 11:32:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 11:32:00 +0000 Subject: Change in osmo-hlr[master]: add --db-check option In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15912 ) Change subject: add --db-check option ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/15912/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/c/osmo-hlr/+/15912/1/src/hlr.c at 866 PS1, Line 866: rc = telnet_init_dynif(hlr_ctx, NULL, vty_get_bind_addr(), Isn't this one here opening a port already? -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 Gerrit-Change-Number: 15912 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 11:32:00 +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 Oct 31 11:32:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 11:32:40 +0000 Subject: Change in osmo-hlr[master]: add db_upgrade test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15913 ) Change subject: add db_upgrade test ...................................................................... Patch Set 1: Test fails. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 Gerrit-Change-Number: 15913 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 11:32: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 Thu Oct 31 11:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 11:34:32 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_interact_vty.py: fix py3 encoding bug In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/15917 ) Change subject: osmo_interact_vty.py: fix py3 encoding bug ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/15917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: I1b4a629f12863c498a8681b555f57b4e255cebfb Gerrit-Change-Number: 15917 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 11:34: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 Thu Oct 31 11:36:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 11:36:15 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15908 ) Change subject: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/15908/2/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/15908/2/src/osmo-bts-trx/scheduler_trx.c at 786 PS2, Line 786: int n_errors = 0;; Extra ";". -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 Gerrit-Change-Number: 15908 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 11:36:15 +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 Oct 31 11:47:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 11:47:30 +0000 Subject: Change in osmo-bts[master]: l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15918 ) Change subject: l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c at 67 PS1, Line 67: * indication for itsself that is passed up in parallel to the payload data itself https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c at 74 PS1, Line 74: static bool tch_data_meas_present = true; I'm not liking that much the idea behind this variable. IIUC, some BTS models send this while some other don't. Let's then better please add a per-bts-model API which tells us whether the BTS being used is expected to receive it or not instead of detecting it at runtime. https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c at 646 PS1, Line 646: struct info_meas_ind_param *info_meas_ind = &l1sap->u.info.u.meas_ind; Let's rather move these assignments under each switch case. https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c at 695 PS1, Line 695: "%s MPH_INFO meas ind, ta_offs_256bits=%d, ber10k=%d, inv_rssi=%u\n", MPH_INFO only on some case right? maybe add a string pointing to the name in the switch case. https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c at 740 PS1, Line 740: rc = 0; rc is already zero here, it can be dropped. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I710d0b7cf193afa8515807836ee69b8b7db84a84 Gerrit-Change-Number: 15918 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 11:47:30 +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 Oct 31 11:57:15 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 31 Oct 2019 11:57:15 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: remove obsolete vty config References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15919 ) Change subject: ttcn3-bts-test: remove obsolete vty config ...................................................................... ttcn3-bts-test: remove obsolete vty config The configuration file for osmo-bsc contains obsolete config statements, which cause osmo-bsc to crash. Lets remove those config statements. Change-Id: Ic91e2ee1e9132886cd02535bc84a568d4c25dbb4 --- M ttcn3-bts-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/19/15919/1 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 18bc9d2..63bde9e 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -171,9 +171,6 @@ 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 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic91e2ee1e9132886cd02535bc84a568d4c25dbb4 Gerrit-Change-Number: 15919 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 Oct 31 11:57:58 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 31 Oct 2019 11:57:58 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: remove obsolete vty config In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15919 ) Change subject: ttcn3-bts-test: remove obsolete vty config ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic91e2ee1e9132886cd02535bc84a568d4c25dbb4 Gerrit-Change-Number: 15919 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 31 Oct 2019 11: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 Oct 31 12:09:12 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 31 Oct 2019 12:09:12 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total 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-bts/+/15908 to look at the new patch set (#3). Change subject: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total ...................................................................... scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total Make sure the variables n_errors, n_bursts_bits, n_bits_total are always initalized. For example in rx_tchh_fn() the value for n_errors is defined in a switch statement, where the default lets n_errors uninitalized, which is in that particular case a theoretical problem, however, lets make sure that the variables n_errors, n_bursts_bits and n_bits_total are always initalized with 0 Related: CID#205452 Related: CID#205451 Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 11 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/15908/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 Gerrit-Change-Number: 15908 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Thu Oct 31 12:37:01 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 31 Oct 2019 12:37:01 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: remove obsolete vty config In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15919 ) Change subject: ttcn3-bts-test: remove obsolete vty config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic91e2ee1e9132886cd02535bc84a568d4c25dbb4 Gerrit-Change-Number: 15919 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 31 Oct 2019 12:37: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 Oct 31 12:42:28 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 31 Oct 2019 12:42:28 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: remove obsolete vty config In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15919 ) Change subject: ttcn3-bts-test: remove obsolete vty config ...................................................................... ttcn3-bts-test: remove obsolete vty config The configuration file for osmo-bsc contains obsolete config statements, which cause osmo-bsc to crash. Lets remove those config statements. Change-Id: Ic91e2ee1e9132886cd02535bc84a568d4c25dbb4 --- M ttcn3-bts-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: dexter: Verified daniel: Looks good to me, approved diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 18bc9d2..63bde9e 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -171,9 +171,6 @@ 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 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic91e2ee1e9132886cd02535bc84a568d4c25dbb4 Gerrit-Change-Number: 15919 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 31 12:45:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 12:45:27 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15908 ) Change subject: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 Gerrit-Change-Number: 15908 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 12:45: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 Oct 31 12:47:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 12:47:33 +0000 Subject: Change in osmo-bsc[master]: Remove unused API classmark_is_r99() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15920 ) Change subject: Remove unused API classmark_is_r99() ...................................................................... Remove unused API classmark_is_r99() Furthermore, similar API already exist in libosmocore: osmo_gsm48_classmark_is_r99() Change-Id: I6763d8c894f0a0555a9801bddbc0a12c2b945599 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c 2 files changed, 0 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/20/15920/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index f6d6d5e..c9595fa 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1744,8 +1744,6 @@ int gsm_bts_get_radio_link_timeout(const struct gsm_bts *bts); void gsm_bts_set_radio_link_timeout(struct gsm_bts *bts, int value); -bool classmark_is_r99(struct gsm_classmark *cm); - bool trx_is_usable(const struct gsm_bts_trx *trx); bool ts_is_usable(const struct gsm_bts_trx_ts *ts); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index c2cfacf..88981c0 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -367,16 +367,6 @@ } } -bool classmark_is_r99(struct gsm_classmark *cm) -{ - int rev_lev = 0; - if (cm->classmark1_set) - rev_lev = cm->classmark1.rev_lev; - else if (cm->classmark2_len > 0) - rev_lev = (cm->classmark2[0] >> 5) & 0x3; - return rev_lev >= 2; -} - static const struct osmo_stat_item_desc bts_stat_desc[] = { { "chanloadavg", "Channel load average.", "%", 16, 0 }, { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.", "s", 16, GSM_T3122_DEFAULT }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6763d8c894f0a0555a9801bddbc0a12c2b945599 Gerrit-Change-Number: 15920 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 Oct 31 13:05:44 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 31 Oct 2019 13:05:44 +0000 Subject: Change in libosmocore[master]: l1sap: add measurement related struct memebers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15888 ) Change subject: l1sap: add measurement related struct memebers ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c34b02d329f9df190c5035c396403ca0a4f9c42 Gerrit-Change-Number: 15888 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 13:05: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 Oct 31 13:08:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 13:08:48 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Remove unused field classmark from gsm_subscriber_connection References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15921 ) Change subject: gsm_data.h: Remove unused field classmark from gsm_subscriber_connection ...................................................................... gsm_data.h: Remove unused field classmark from gsm_subscriber_connection Change-Id: If2826a8f334afabfa3a0198a0bc1eed009962c81 --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/15921/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c9595fa..c940f7b 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -242,9 +242,6 @@ * operation. If a Handover was successful, all relevant state must be copied out of this sub-struct. */ struct handover ho; - /* buffer/cache for classmark of the ME of the subscriber */ - struct gsm_classmark classmark; - /* Queue DTAP messages during handover/assignment (msgb_enqueue()/msgb_dequeue())*/ struct llist_head dtap_queue; unsigned int dtap_queue_len; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2826a8f334afabfa3a0198a0bc1eed009962c81 Gerrit-Change-Number: 15921 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 Oct 31 14:59:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 14:59:58 +0000 Subject: Change in libosmocore[master]: cosmetic: gsm_04_08.h: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15922 ) Change subject: cosmetic: gsm_04_08.h: Fix trailing whitespace ...................................................................... cosmetic: gsm_04_08.h: Fix trailing whitespace Change-Id: I4b34dbd5f0176d1d8aa8cc96f642ed35d4214b7e --- M include/osmocom/gsm/protocol/gsm_04_08.h 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/15922/1 diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 2be6ed3..6a6c7f3 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -954,7 +954,7 @@ #if OSMO_IS_LITTLE_ENDIAN uint8_t l2_plen; uint8_t rr_protocol_discriminator :4, - skip_indicator:4; + skip_indicator:4; uint8_t system_information; #elif OSMO_IS_BIG_ENDIAN /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ @@ -1104,7 +1104,7 @@ struct gsm48_system_information_type_5 { #if OSMO_IS_LITTLE_ENDIAN uint8_t rr_protocol_discriminator :4, - skip_indicator:4; + skip_indicator:4; uint8_t system_information; uint8_t bcch_frequency_list[16]; #elif OSMO_IS_BIG_ENDIAN @@ -1149,7 +1149,7 @@ struct gsm48_system_information_type_6 { #if OSMO_IS_LITTLE_ENDIAN uint8_t rr_protocol_discriminator :4, - skip_indicator:4; + skip_indicator:4; uint8_t system_information; uint16_t cell_identity; struct gsm48_loc_area_id lai; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b34dbd5f0176d1d8aa8cc96f642ed35d4214b7e Gerrit-Change-Number: 15922 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 Oct 31 14:59:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 14:59:58 +0000 Subject: Change in libosmocore[master]: gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15923 ) Change subject: gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass() ...................................................................... gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass() Related: OS#4244 Change-Id: I32e9cc1c2397b44f0d48db2acdf782a821365b63 --- M TODO-RELEASE M include/osmocom/gsm/protocol/gsm_04_08.h M src/gsm/gsm48.c M src/gsm/libosmogsm.map M tests/gsm0408/gsm0408_test.c 5 files changed, 49 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/15923/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 547b5a9..9af92c1 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -9,3 +9,4 @@ #library what description / commit summary line core osmo_tdef_get() change val_if_not_present arg from unsigned long to long to allow passing -1 core struct osmo_tdef fields min_val,max_val added, ABI break (arrays of structs used in programs) +gsm API added osmo_gsm48_rfpowercap2powerclass() diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 6a6c7f3..b5317d5 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -10,6 +10,7 @@ #include struct gsm_lchan; +enum gsm_band; /* Chapter 10.5.1.5 */ struct gsm48_classmark1 { @@ -73,7 +74,7 @@ char *osmo_gsm48_classmark_a5_name_buf(char *buf, size_t buf_len, const struct osmo_gsm48_classmark *cm); char *osmo_gsm48_classmark_a5_name_c(const void *ctx, const struct osmo_gsm48_classmark *cm); void osmo_gsm48_classmark_update(struct osmo_gsm48_classmark *dst, const struct osmo_gsm48_classmark *src); - +int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t rf_power_cap); /* Chapter 10.5.2.1b.3 */ #if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_1024 { diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 2d6deb5..17b0829 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -1390,4 +1390,25 @@ } } +/*! Decode power class from Classmark1/2 RF power capability field. + * \param[in] rf_power_cap The RF power capability field (3 bits). + * \param[in] band the band of the arfcn from where the classmark was received + * \return the MS power class on success, negative on error. + */ +int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t rf_power_cap) +{ + switch (band) { + case GSM_BAND_1800: + case GSM_BAND_1900: + if (rf_power_cap > 2) + return -1; + return rf_power_cap + 1; + default: + if (rf_power_cap > 4) + return -1; + return rf_power_cap + 1; + } +} + + /*! @} */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 724fe5b..a0e3b32 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -646,6 +646,7 @@ osmo_gsm48_classmark_a5_name_buf; osmo_gsm48_classmark_a5_name_c; osmo_gsm48_classmark_update; +osmo_gsm48_rfpowercap2powerclass; cbsp_msg_type_names; cbsp_iei_names; diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index db1d45a..2488024 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -1132,6 +1133,28 @@ VERIFY(f0, ==, 1); } +static void test_power_ctrl() +{ + int8_t rc8; + + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_850, 0x00); + VERIFY(rc8, ==, 1); + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0x02); + VERIFY(rc8, ==, 3); + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_1800, 0x02); + VERIFY(rc8, ==, 3); + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_1900, 0x02); + VERIFY(rc8, ==, 3); + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_1900, 0x04); + VERIFY(rc8, <, 0); + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0x04); + VERIFY(rc8, ==, 5); + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0x05); + VERIFY(rc8, <, 0); + rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0xf2); + VERIFY(rc8, <, 0); +} + int main(int argc, char **argv) { test_bearer_cap(); @@ -1147,6 +1170,7 @@ test_arfcn_filter(); test_print_encoding(); test_range_encoding(); + test_power_ctrl(); return EXIT_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15923 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I32e9cc1c2397b44f0d48db2acdf782a821365b63 Gerrit-Change-Number: 15923 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 Oct 31 14:59:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 14:59:59 +0000 Subject: Change in libosmocore[master]: gsm: gsm_utils: Introduce API ms_max_pwr_dbm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15924 ) Change subject: gsm: gsm_utils: Introduce API ms_max_pwr_dbm ...................................................................... gsm: gsm_utils: Introduce API ms_max_pwr_dbm Related: OS#4244 Change-Id: Ia10345008b3aca50b30482ef3b852b03eca71995 --- M TODO-RELEASE M include/osmocom/gsm/gsm_utils.h M src/gsm/gsm_utils.c M src/gsm/libosmogsm.map M tests/gsm0408/gsm0408_test.c 5 files changed, 49 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/15924/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 9af92c1..9905057 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -10,3 +10,4 @@ core osmo_tdef_get() change val_if_not_present arg from unsigned long to long to allow passing -1 core struct osmo_tdef fields min_val,max_val added, ABI break (arrays of structs used in programs) gsm API added osmo_gsm48_rfpowercap2powerclass() +gsm API added ms_max_pwr_dbm() diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 7a5da9a..4414563 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -118,6 +118,7 @@ unsigned int ms_class_gmsk_dbm(enum gsm_band band, int ms_class); +int ms_max_pwr_dbm(enum gsm_band band, uint8_t ms_power_class); int ms_pwr_ctl_lvl(enum gsm_band band, unsigned int dbm); int ms_pwr_dbm(enum gsm_band band, uint8_t lvl); diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index 365920f..9f8aa8e 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -542,6 +542,34 @@ return -EINVAL; } +/*! Determine maximum output power for given band based on MS Power class, as + * indicated by the tables in chapter 4.1.1 of GSM TS 05.05 + * \param[in] band GSM frequency band + * \param[in] ms_power_class Power class of the MS (1-5) + * \returns RF power level in dBm, negative on error. */ +int ms_max_pwr_dbm(enum gsm_band band, uint8_t ms_power_class) +{ + /* TS 05.05 provides no value for GSM900 class1, but TS 02.06 provides + value of 20W (43.01 dBm) */ + int col_dbm_def[5] = {44, 39, 37, 33, 29}; + int col_dbm_1800[3] = {30, 24, 36}; + + if (ms_power_class == 0) + return -EINVAL; + + switch (band) { + case GSM_BAND_1800: + case GSM_BAND_1900: + if (ms_power_class > 3) + return -EINVAL; + return col_dbm_1800[ms_power_class - 1]; + default: + if (ms_power_class > 5) + return -EINVAL; + return col_dbm_def[ms_power_class - 1]; + } +} + /*! determine power control level for given dBm value, as indicated * by the tables in chapter 4.1.1 of GSM TS 05.05 * \param[in] GSM frequency band diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index a0e3b32..a56fda5 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -485,6 +485,7 @@ milenage_opc_gen; ms_class_gmsk_dbm; +ms_max_pwr_dbm; ms_pwr_ctl_lvl; ms_pwr_dbm; diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 2488024..5003d41 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -1136,6 +1136,7 @@ static void test_power_ctrl() { int8_t rc8; + int rc; rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_850, 0x00); VERIFY(rc8, ==, 1); @@ -1153,6 +1154,23 @@ VERIFY(rc8, <, 0); rc8 = osmo_gsm48_rfpowercap2powerclass(GSM_BAND_900, 0xf2); VERIFY(rc8, <, 0); + + rc = ms_max_pwr_dbm(GSM_BAND_850, 0); + VERIFY(rc, <, 0); + rc = ms_max_pwr_dbm(GSM_BAND_850, 1); + VERIFY(rc, ==, 44); + rc = ms_max_pwr_dbm(GSM_BAND_900, 3); + VERIFY(rc, ==, 37); + rc = ms_max_pwr_dbm(GSM_BAND_1800, 2); + VERIFY(rc, ==, 24); + rc = ms_max_pwr_dbm(GSM_BAND_1900, 3); + VERIFY(rc, ==, 36); + rc = ms_max_pwr_dbm(GSM_BAND_1900, 4); + VERIFY(rc, <, 0); + rc = ms_max_pwr_dbm(GSM_BAND_900, 5); + VERIFY(rc, ==, 29); + rc = ms_max_pwr_dbm(GSM_BAND_900, 6); + VERIFY(rc, <, 0); } int main(int argc, char **argv) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia10345008b3aca50b30482ef3b852b03eca71995 Gerrit-Change-Number: 15924 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 Oct 31 15:01:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 15:01:53 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Remove unused func declarations References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15925 ) Change subject: gsm_data.h: Remove unused func declarations ...................................................................... gsm_data.h: Remove unused func declarations Change-Id: I189d34b6db78de749e1901733d0df35411e0d583 --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/15925/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c940f7b..ca9d294 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1705,9 +1705,6 @@ struct gsm_subscriber_connection *bsc_subscr_con_allocate(struct gsm_network *network); -struct gsm_subscriber_connection *msc_subscr_con_allocate(struct gsm_network *network); -void msc_subscr_con_free(struct gsm_subscriber_connection *conn); - struct gsm_bts *gsm_bts_alloc_register(struct gsm_network *net, enum gsm_bts_type type, uint8_t bsic); struct gsm_bts *bsc_bts_alloc_register(struct gsm_network *net, enum gsm_bts_type type, uint8_t bsic); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I189d34b6db78de749e1901733d0df35411e0d583 Gerrit-Change-Number: 15925 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 Oct 31 16:46:00 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 16:46:00 +0000 Subject: Change in osmo-hlr[master]: add --db-check option In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15912 ) Change subject: add --db-check option ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/15912/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/c/osmo-hlr/+/15912/1/src/hlr.c at 866 PS1, Line 866: rc = telnet_init_dynif(hlr_ctx, NULL, vty_get_bind_addr(), > Isn't this one here opening a port already? huh I thought I had moved it?? I think I lost a fixup somewhere. checking... -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 Gerrit-Change-Number: 15912 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 16:46:00 +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 Oct 31 16:53:23 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 16:53:23 +0000 Subject: Change in osmo-hlr[master]: add --db-check option 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-hlr/+/15912 to look at the new patch set (#2). Change subject: add --db-check option ...................................................................... add --db-check option This allows starting osmo-hlr to merely open the database, do upgrades if necessary, and quit, without opening any ports. So that no ports are opened, move the telnet VTY startup to below the database check. Needed for upcoming patch that introduces a db_upgrade test, in I0961bab0e17cfde5b030576c5bc243c2b51d9dc4. Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 --- M src/hlr.c 1 file changed, 23 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/12/15912/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 Gerrit-Change-Number: 15912 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Thu Oct 31 16:53:23 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 16:53:23 +0000 Subject: Change in osmo-hlr[master]: add db_upgrade test 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-hlr/+/15913 to look at the new patch set (#2). Change subject: add db_upgrade test ...................................................................... add db_upgrade test We have a database schema upgrade path, but so far nothing that verifies that we don't break it. It almost seems like the user data weren't important to us!? Add a db upgrade test: - Create a db with an .sql dump taken from a db created with an old osmo-hlr, producing DB schema version 0. - Run osmo-hlr --db-upgrade --db-check - Verify that the upgrade exited successfully. - Verify that restarting with the upgraded DB works. If python tests are enabled, also: - create a new database using the new osmo-hlr (just built). - replay a VTY transcript to create subscribers as in the old snapshot. - replay some sql modifications as done in the old snapshot. - Get a list of sorted table names, - a list of their sorted columns with all their properties, - and dump the table contents in a column- and value-sorted way. - Compare the resulting dumps and error if there are any diffs. (This is how I found the difference in the imei column that was fixed in I68a00014a3d603fcba8781470bc5285f78b538d0) Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 --- M configure.ac M tests/Makefile.am A tests/db_upgrade/Makefile.am A tests/db_upgrade/create_subscribers.vty A tests/db_upgrade/create_subscribers_step2.sql A tests/db_upgrade/db_upgrade_test.err A tests/db_upgrade/db_upgrade_test.ok A tests/db_upgrade/db_upgrade_test.sh A tests/db_upgrade/hlr_db_v0.sql A tests/db_upgrade/osmo-hlr.cfg M tests/testsuite.at 11 files changed, 415 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/13/15913/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 Gerrit-Change-Number: 15913 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Oct 31 16:53:23 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 16:53:23 +0000 Subject: Change in osmo-hlr[master]: hlr db schema 3: hlr_number -> msc_number 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-hlr/+/15914 to look at the new patch set (#2). Change subject: hlr db schema 3: hlr_number -> msc_number ...................................................................... hlr db schema 3: hlr_number -> msc_number The osmo-hlr DB schema indicates a hlr_number column and references it as 3GPP TS 23.008 chapter 2.4.6. However, chapter 2.4.6 refers to the "MSC number", while the "HLR number" is chapter 2.4.7. Taking a closer look, 2.4.6 says "The MSC number is [...] stored in the HLR", while 2.4.7 says "The HLR number may be stored in the VLR". As quite obvious, the HLR does not store the HLR number. This was a typo from the start. The osmo-hlr code base so far does not use the hlr_number column at all, so we get away with renaming the column without any effects on the code base. However, let's rather make this a new schema version to be safe. Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 --- M doc/manuals/chapters/subscribers.adoc M sql/hlr.sql M src/db.c M tests/db_upgrade/db_upgrade_test.ok 4 files changed, 57 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/14/15914/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 Gerrit-Change-Number: 15914 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 31 16:54:59 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 16:54:59 +0000 Subject: Change in osmo-hlr[master]: add --db-check option In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15912 ) Change subject: add --db-check option ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/15912/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/c/osmo-hlr/+/15912/1/src/hlr.c at 866 PS1, Line 866: rc = telnet_init_dynif(hlr_ctx, NULL, vty_get_bind_addr(), > huh I thought I had moved it?? I think I lost a fixup somewhere. checking... I had squashed it to the wrong patch, thanks for spotting -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 Gerrit-Change-Number: 15912 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 16:54:59 +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 Thu Oct 31 16:57:01 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 16:57:01 +0000 Subject: Change in osmo-hlr[master]: add db_upgrade test In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15913 ) Change subject: add db_upgrade test ...................................................................... Patch Set 2: hrm the changes in sqlite3 clients makes it hard to get this test to act reproducably... -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 Gerrit-Change-Number: 15913 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 16:57: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 Thu Oct 31 16:58:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 31 Oct 2019 16:58:20 +0000 Subject: Change in osmo-hlr[master]: add --db-check option In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15912 ) Change subject: add --db-check option ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 Gerrit-Change-Number: 15912 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 16: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 Thu Oct 31 17:17:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 17:17:09 +0000 Subject: Change in libosmocore[master]: cosmetic: gsm_04_08.h: Fix trailing whitespace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15922 ) Change subject: cosmetic: gsm_04_08.h: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b34dbd5f0176d1d8aa8cc96f642ed35d4214b7e Gerrit-Change-Number: 15922 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 17:17: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 Oct 31 17:22:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 17:22:25 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15908 ) Change subject: scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If28ea11cc111c7d73ca47b25e65ce399e5baa4c1 Gerrit-Change-Number: 15908 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 17:22: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 Oct 31 17:23:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 17:23:49 +0000 Subject: Change in libosmocore[master]: gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15923 ) Change subject: gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15923 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I32e9cc1c2397b44f0d48db2acdf782a821365b63 Gerrit-Change-Number: 15923 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 17:23: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 Oct 31 17:47:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 17:47:17 +0000 Subject: Change in libosmocore[master]: l1sap: add measurement related struct memebers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15888 ) Change subject: l1sap: add measurement related struct memebers ...................................................................... Patch Set 2: (3 comments) This change breaks ABI, please update TODO-RELEASE. https://gerrit.osmocom.org/c/libosmocore/+/15888/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/15888/2//COMMIT_MSG at 9 PS2, Line 9: disolve disSolve https://gerrit.osmocom.org/c/libosmocore/+/15888/2/include/osmocom/gsm/l1sap.h File include/osmocom/gsm/l1sap.h: https://gerrit.osmocom.org/c/libosmocore/+/15888/2/include/osmocom/gsm/l1sap.h at 87 PS2, Line 87: flags What is the purpose of these flags? And why only one bit? https://gerrit.osmocom.org/c/libosmocore/+/15888/2/include/osmocom/gsm/l1sap.h at 99 PS2, Line 99: ta_offs_qbits Do we really need this field in the new API? Basically, QTA == (ToA256 >> 6). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c34b02d329f9df190c5035c396403ca0a4f9c42 Gerrit-Change-Number: 15888 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 17:47:17 +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 Oct 31 18:05:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:05:44 +0000 Subject: Change in osmo-bts[master]: l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15918 ) Change subject: l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH ...................................................................... Patch Set 1: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/l1sap.c at 74 PS1, Line 74: static bool tch_data_meas_present = true; > I'm not liking that much the idea behind this variable. [?] ACK. https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/common/scheduler.c at 760 PS1, Line 760: l1sap->u.tch. How about 'is_sub'? (still not aware of its meaning) https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/osmo-bts-trx/scheduler_trx.c at a205 PS1, Line 205: /* FIXME: use actual values for BER etc */ Not sure why you're removing this comment... https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/osmo-bts-trx/scheduler_trx.c at a991 PS1, Line 991: /* Send uplink measurement information to L2 */ This comment does not make sense anymore. https://gerrit.osmocom.org/c/osmo-bts/+/15918/1/src/osmo-bts-trx/scheduler_trx.c at a1105 PS1, Line 1105: /* Send uplink measurement information to L2 */ Same. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I710d0b7cf193afa8515807836ee69b8b7db84a84 Gerrit-Change-Number: 15918 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 18:05:44 +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 Thu Oct 31 18:13:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:13:31 +0000 Subject: Change in osmo-hlr[master]: db upgrade to v2: log version 2, not 1 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15910 ) Change subject: db upgrade to v2: log version 2, not 1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I9237b64e5748e693a5f039c5a5554d417eed3633 Gerrit-Change-Number: 15910 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 18:13: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 Oct 31 18:21:06 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 31 Oct 2019 18:21:06 +0000 Subject: Change in libosmocore[master]: sim: allow opening reader# > 0 References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15927 ) Change subject: sim: allow opening reader# > 0 ...................................................................... sim: allow opening reader# > 0 Change-Id: I4b1abc8d8aae4bd9a32f927269d7ebfef902d7c5 --- M src/sim/reader_pcsc.c M utils/osmo-sim-test.c 2 files changed, 10 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/27/15927/1 diff --git a/src/sim/reader_pcsc.c b/src/sim/reader_pcsc.c index f22103f..853b157 100644 --- a/src/sim/reader_pcsc.c +++ b/src/sim/reader_pcsc.c @@ -79,17 +79,19 @@ rc = SCardListReaders(st->hContext, NULL, (LPSTR)&mszReaders, &dwReaders); PCSC_ERROR(rc, "SCardListReaders"); + /* SCARD_S_SUCCESS means there is at least one reader in the group */ num_readers = 0; ptr = mszReaders; - while (*ptr != '\0') { + while (*ptr != '\0' && num_readers != num) { + printf("%s\n", ptr); ptr += strlen(ptr)+1; num_readers++; } - if (num_readers == 0) + if (num > num_readers) goto end; - st->name = talloc_strdup(rh, mszReaders); + st->name = talloc_strdup(rh, ptr); st->dwActiveProtocol = -1; return rh; diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 5588294..d805127 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -334,8 +334,12 @@ struct osim_card_hdl *card; struct osim_chan_hdl *chan; struct msgb *msg; + int readernum = 0; - reader = osim_reader_open(OSIM_READER_DRV_PCSC, 0, "", NULL); + if(argc > 1) + readernum = atoi(argv[1]); + + reader = osim_reader_open(OSIM_READER_DRV_PCSC, readernum, "", NULL); if (!reader) exit(1); card = osim_card_open(reader, OSIM_PROTO_T0); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b1abc8d8aae4bd9a32f927269d7ebfef902d7c5 Gerrit-Change-Number: 15927 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 31 18:23:20 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 31 Oct 2019 18:23:20 +0000 Subject: Change in libosmocore[master]: sim: allow opening reader# > 0 In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/15927 ) Change subject: sim: allow opening reader# > 0 ...................................................................... sim: allow opening reader# > 0 Change-Id: I4b1abc8d8aae4bd9a32f927269d7ebfef902d7c5 --- M src/sim/reader_pcsc.c M utils/osmo-sim-test.c 2 files changed, 9 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/27/15927/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b1abc8d8aae4bd9a32f927269d7ebfef902d7c5 Gerrit-Change-Number: 15927 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 31 18:23:52 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:23:52 +0000 Subject: Change in osmo-hlr[master]: fix upgrade to version 2: imei column default value In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15911 ) Change subject: fix upgrade to version 2: imei column default value ...................................................................... Patch Set 1: (1 comment) Adding Oliver, as he is the author of the related code (to my best knowledge). https://gerrit.osmocom.org/c/osmo-hlr/+/15911/1/src/db.c File src/db.c: https://gerrit.osmocom.org/c/osmo-hlr/+/15911/1/src/db.c at a302 PS1, Line 302: default NULL Shouldn't IMEI actually be NULL by default? AFAIK, storing IMEI(SV) is an optional feature, so what if this is exactly the correct behaviour, and we also need to add this statement to 'stmt_bootstrap_sql'? -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I68a00014a3d603fcba8781470bc5285f78b538d0 Gerrit-Change-Number: 15911 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:23: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 Thu Oct 31 18:26:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:26:41 +0000 Subject: Change in osmo-hlr[master]: add --db-check option In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15912 ) Change subject: add --db-check option ...................................................................... Patch Set 2: Maybe we should rather implement this as a new feature of osmo-hlr-db-tool? -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I1a4b3360690acd2cd3cffdadffbb00a28d421316 Gerrit-Change-Number: 15912 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:26: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 Thu Oct 31 18:31:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:31:20 +0000 Subject: Change in osmo-hlr[master]: hlr db schema 3: hlr_number -> msc_number In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15914 ) Change subject: hlr db schema 3: hlr_number -> msc_number ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 Gerrit-Change-Number: 15914 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:31: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 Oct 31 18:32:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:32:45 +0000 Subject: Change in osmo-hlr[master]: add osmo_gsup_msgb_alloc() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15915 ) Change subject: add osmo_gsup_msgb_alloc() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I40e99b5bc4fd8f750da7643c03b2119ac3bfd95e Gerrit-Change-Number: 15915 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:32: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 Oct 31 18:42:39 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:42:39 +0000 Subject: Change in osmo-hlr[master]: add osmo_gsup_conn_send_err_reply() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15916 ) Change subject: add osmo_gsup_conn_send_err_reply() ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-hlr/+/15916/2/src/gsup_server.c File src/gsup_server.c: https://gerrit.osmocom.org/c/osmo-hlr/+/15916/2/src/gsup_server.c at 66 PS2, Line 66: only REQUESTs need an error reply Probably, makes sense to print a warning then. https://gerrit.osmocom.org/c/osmo-hlr/+/15916/2/src/gsup_server.c at 88 PS2, Line 88: OSMO_ASSERT osmo_gsup_msgb_alloc() also assert()s the result of allocation, so this is redundant. https://gerrit.osmocom.org/c/osmo-hlr/+/15916/2/src/gsup_server.c at 89 PS2, Line 89: osmo_gsup_encode Should we check if encoding failed? -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I792fd9993ab2a323af58782a357d71205c43b72a Gerrit-Change-Number: 15916 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:42: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 Thu Oct 31 18:45:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:45:41 +0000 Subject: Change in osmo-bsc[master]: Remove unused API classmark_is_r99() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15920 ) Change subject: Remove unused API classmark_is_r99() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6763d8c894f0a0555a9801bddbc0a12c2b945599 Gerrit-Change-Number: 15920 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:45: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 Oct 31 18:48:57 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:48:57 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Remove unused field classmark from gsm_subscriber_connection In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15921 ) Change subject: gsm_data.h: Remove unused field classmark from gsm_subscriber_connection ...................................................................... Patch Set 1: Not sure if that's the right approach. In the same patch set you're parsing the MS Power Class from the Classmark and storing it in the same place. Some day somebody else would need some other field from the Classmark. Let's rather keep this field updated? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2826a8f334afabfa3a0198a0bc1eed009962c81 Gerrit-Change-Number: 15921 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:48: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 Thu Oct 31 18:49:38 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 18:49:38 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Remove unused func declarations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15925 ) Change subject: gsm_data.h: Remove unused func declarations ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I189d34b6db78de749e1901733d0df35411e0d583 Gerrit-Change-Number: 15925 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 31 Oct 2019 18:49: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 Oct 31 18:53:18 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 18:53:18 +0000 Subject: Change in osmo-hlr[master]: hlr.sql: move comment References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15928 ) Change subject: hlr.sql: move comment ...................................................................... hlr.sql: move comment Move a comment for ind_bitlen column to a separate line, so that it doesn't show in PRAGMA_TABLE_INFO('subscriber'). An upcoming patch introduces db_upgrade_test, which dumps a sorted db schema. In newer sqlite3 versions, a comment following a 'DEFAULT' keyword actually shows up in the PRAGMA_TABLE_INFO() results (on my machine), but older versions (on the build slaves) drop that comment. The ind_bitlen column is the only one producing this odd side effect, because it is the last column and has no comma between 'DEFAULT' and the comment. The easiest way to get matching results across sqlite3 client versions is to move the comment to above ind_bitlen instead of having it on the same line. (Adding a comma doesn't work.) Change-Id: Id66ad68dd3f22d533fc3a428223ea6ad0282bde0 --- M sql/hlr.sql 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/28/15928/1 diff --git a/sql/hlr.sql b/sql/hlr.sql index 10838f2..c1b0f1a 100644 --- a/sql/hlr.sql +++ b/sql/hlr.sql @@ -69,7 +69,8 @@ op VARCHAR(32), -- hex string: operator's secret key (128bit) opc VARCHAR(32), -- hex string: derived from OP and K (128bit) sqn INTEGER NOT NULL DEFAULT 0, -- sequence number of key usage - ind_bitlen INTEGER NOT NULL DEFAULT 5 -- nr of index bits at lower SQN end + -- nr of index bits at lower SQN end + ind_bitlen INTEGER NOT NULL DEFAULT 5 ); CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Id66ad68dd3f22d533fc3a428223ea6ad0282bde0 Gerrit-Change-Number: 15928 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 Thu Oct 31 19:00:22 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 19:00:22 +0000 Subject: Change in osmo-hlr[master]: add db_upgrade test 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-hlr/+/15913 to look at the new patch set (#4). Change subject: add db_upgrade test ...................................................................... add db_upgrade test We have a database schema upgrade path, but so far nothing that verifies that we don't break it. It almost seems like the user data weren't important to us!? Add a db upgrade test: - Create a db with an .sql dump taken from a db created with an old osmo-hlr, producing DB schema version 0. - Run osmo-hlr --db-upgrade --db-check - Verify that the upgrade exited successfully. - Verify that restarting with the upgraded DB works. If python tests are enabled, also: - create a new database using the new osmo-hlr (just built). - replay a VTY transcript to create subscribers as in the old snapshot. - replay some sql modifications as done in the old snapshot. - Get a list of sorted table names, - a list of their sorted columns with all their properties, - and dump the table contents in a column- and value-sorted way. - Compare the resulting dumps and error if there are any diffs. (This is how I found the difference in the imei column that was fixed in I68a00014a3d603fcba8781470bc5285f78b538d0) Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 --- M configure.ac M tests/Makefile.am A tests/db_upgrade/Makefile.am A tests/db_upgrade/create_subscribers.vty A tests/db_upgrade/create_subscribers_step2.sql A tests/db_upgrade/db_upgrade_test.err A tests/db_upgrade/db_upgrade_test.ok A tests/db_upgrade/db_upgrade_test.sh A tests/db_upgrade/hlr_db_v0.sql A tests/db_upgrade/osmo-hlr.cfg M tests/testsuite.at 11 files changed, 416 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/13/15913/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 Gerrit-Change-Number: 15913 Gerrit-PatchSet: 4 Gerrit-Owner: neels 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 Thu Oct 31 19:03:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 31 Oct 2019 19:03:44 +0000 Subject: Change in osmo-bsc[master]: RSL: Wrong CCCH_CONFIG in SI3 causes a lot of MO call setup failed wh... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15909 ) Change subject: RSL: Wrong CCCH_CONFIG in SI3 causes a lot of MO call setup failed when the BTS configured with none combined CCCH mode. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/15909/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/15909/1/src/osmo-bsc/bsc_vty.c at 4304 PS1, Line 4304: cfg_ts_pchan How about this one? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I33ea7808ac1bd064b88fd609bd7dfe0c8aa341f2 Gerrit-Change-Number: 15909 Gerrit-PatchSet: 1 Gerrit-Owner: Minh-Quang Nguyen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 19:03: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 Oct 31 19:21:49 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 19:21:49 +0000 Subject: Change in osmo-hlr[master]: hlr db schema 3: hlr_number -> msc_number In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15914 ) Change subject: hlr db schema 3: hlr_number -> msc_number ...................................................................... Patch Set 4: argh, it seems the build slave's sqlite version doesn't support "RENAME COLUMN" -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 Gerrit-Change-Number: 15914 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 31 Oct 2019 19:21: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 Thu Oct 31 19:58:59 2019 From: gerrit-no-reply at lists.osmocom.org (mqng2) Date: Thu, 31 Oct 2019 19:58:59 +0000 Subject: Change in osmo-bsc[master]: RSL: Wrong CCCH_CONFIG in SI3 causes a lot of MO call setup failed wh... In-Reply-To: References: Message-ID: mqng2 has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15909 ) Change subject: RSL: Wrong CCCH_CONFIG in SI3 causes a lot of MO call setup failed when the BTS configured with none combined CCCH mode. ...................................................................... Patch Set 1: > Patch Set 1: > > (1 comment) I fixed at this at first but it did not fix the issue. Fixing in the cfg_ts_pchan_compt solved the problem. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I33ea7808ac1bd064b88fd609bd7dfe0c8aa341f2 Gerrit-Change-Number: 15909 Gerrit-PatchSet: 1 Gerrit-Owner: mqng2 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: mqng2 Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 31 Oct 2019 19:58:59 +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 Oct 31 20:03:34 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 31 Oct 2019 20:03:34 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5dbb3e2edb32a_19182ad482dc060075019e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 173s] 75%: Checks: 4, Failures: 0, Errors: 1 [ 173s] /usr/src/packages/BUILD/test/websocket.c:73:P:test_ulfius_websocket:test_websocket_ulfius_set_websocket_response:0: Passed [ 173s] /usr/src/packages/BUILD/test/websocket.c:89:P:test_ulfius_websocket:test_websocket_ulfius_set_websocket_request:0: Passed [ 173s] /usr/src/packages/BUILD/test/websocket.c:106:P:test_ulfius_websocket:test_websocket_ulfius_open_websocket_client_connection_error:0: Passed [ 173s] /usr/src/packages/BUILD/test/websocket.c:131:E:test_ulfius_websocket:test_websocket_ulfius_websocket_client:0: (after this point) Test timeout expired [ 173s] [ 173s] [ 173s] 75% tests passed, 1 tests failed out of 4 [ 173s] [ 173s] Total Test time (real) = 30.05 sec [ 173s] [ 173s] The following tests FAILED: [ 173s] 4 - websocket (Failed) [ 173s] Errors while running CTest [ 173s] make[1]: *** [Makefile:144: test] Error 8 [ 173s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 173s] dh_auto_test: cd build && make -j8 test ARGS\+=-j8 returned exit code 2 [ 173s] make: *** [debian/rules:9: build] Error 255 [ 173s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 173s] [ 173s] lamb75 failed "build ulfius_2.5.2-4.1.dsc" at Thu Oct 31 20:03:14 UTC 2019. [ 173s] [ 173s] ### VM INTERACTION START ### [ 177s] [ 162.687173] sysrq: SysRq : Power Off [ 177s] [ 162.695934] reboot: Power down [ 177s] ### VM INTERACTION END ### [ 177s] [ 177s] lamb75 failed "build ulfius_2.5.2-4.1.dsc" at Thu Oct 31 20:03:18 UTC 2019. [ 177s] -- 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 Oct 31 20:12:43 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 20:12:43 +0000 Subject: Change in osmo-hlr[master]: hlr db schema 3: hlr_number -> msc_number In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/15914 to look at the new patch set (#5). Change subject: hlr db schema 3: hlr_number -> msc_number ...................................................................... hlr db schema 3: hlr_number -> msc_number The osmo-hlr DB schema indicates a hlr_number column and references it as 3GPP TS 23.008 chapter 2.4.6. However, chapter 2.4.6 refers to the "MSC number", while the "HLR number" is chapter 2.4.7. Taking a closer look, 2.4.6 says "The MSC number is [...] stored in the HLR", while 2.4.7 says "The HLR number may be stored in the VLR". As quite obvious, the HLR does not store the HLR number. This was a typo from the start. The osmo-hlr code base so far does not use the hlr_number column at all, so we get away with renaming the column without any effects on the code base. However, let's rather make this a new schema version to be safe. Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 --- M doc/manuals/chapters/subscribers.adoc M sql/hlr.sql M src/db.c M tests/db_upgrade/db_upgrade_test.ok 4 files changed, 157 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/14/15914/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I527e8627b24b79f3e9eec32675c7f5a3a6d25440 Gerrit-Change-Number: 15914 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Oct 31 20:31:57 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 20:31:57 +0000 Subject: Change in osmo-hlr[master]: add osmo_gsup_conn_send_err_reply() 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-hlr/+/15916 to look at the new patch set (#5). Change subject: add osmo_gsup_conn_send_err_reply() ...................................................................... add osmo_gsup_conn_send_err_reply() Remove hlr.c's static gsup_send_err_reply(), and create new osmo_gsup_conn_send_err_reply(), as used in osmo-msc. It includes more of the newer IEs in the response, like an SS/USSD session id. Prepares for adding D-GSM / MS lookup, which will need this function moved to a non-static context. Change-Id: I792fd9993ab2a323af58782a357d71205c43b72a --- M src/gsup_server.c M src/gsup_server.h M src/hlr.c 3 files changed, 58 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/16/15916/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I792fd9993ab2a323af58782a357d71205c43b72a Gerrit-Change-Number: 15916 Gerrit-PatchSet: 5 Gerrit-Owner: neels 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 Thu Oct 31 20:31:58 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 20:31:58 +0000 Subject: Change in osmo-hlr[master]: db.c: code dup: add db_run_statements() for arrays of statements References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15929 ) Change subject: db.c: code dup: add db_run_statements() for arrays of statements ...................................................................... db.c: code dup: add db_run_statements() for arrays of statements The db bootstrap as well as the upgrade code all execute a number of statements, and have massive code dup around each statement execution. Instead have one db_run_statements() that takes an array of strings and runs all. Change-Id: I2721dfc0a9aadcc7f5ac81a1c0fa87452098996f --- M src/db.c 1 file changed, 34 insertions(+), 74 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/29/15929/1 diff --git a/src/db.c b/src/db.c index d2564e6..75ca889 100644 --- a/src/db.c +++ b/src/db.c @@ -201,28 +201,38 @@ talloc_free(dbc); } -static int db_bootstrap(struct db_context *dbc) +static int db_run_statements(struct db_context *dbc, const char **statements, size_t statements_count) { + int rc; int i; - for (i = 0; i < ARRAY_SIZE(stmt_bootstrap_sql); i++) { - int rc; + for (i = 0; i < statements_count; i++) { + const char *stmt_str = statements[i]; sqlite3_stmt *stmt; - rc = sqlite3_prepare_v2(dbc->db, stmt_bootstrap_sql[i], -1, &stmt, NULL); + + rc = sqlite3_prepare_v2(dbc->db, stmt_str, -1, &stmt, NULL); if (rc != SQLITE_OK) { - LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", stmt_bootstrap_sql[i]); + LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", stmt_str); return rc; } - rc = sqlite3_step(stmt); db_remove_reset(stmt); sqlite3_finalize(stmt); if (rc != SQLITE_DONE) { - LOGP(DDB, LOGL_ERROR, "Cannot bootstrap database: SQL error: (%d) %s," - " during stmt '%s'", - rc, sqlite3_errmsg(dbc->db), stmt_bootstrap_sql[i]); + LOGP(DDB, LOGL_ERROR, "SQL error: (%d) %s, during stmt '%s'", + rc, sqlite3_errmsg(dbc->db), stmt_str); return rc; } } + return rc; +} + +static int db_bootstrap(struct db_context *dbc) +{ + int rc = db_run_statements(dbc, stmt_bootstrap_sql, ARRAY_SIZE(stmt_bootstrap_sql)); + if (rc != SQLITE_DONE) { + LOGP(DDB, LOGL_ERROR, "Cannot bootstrap database\n"); + return rc; + } return SQLITE_OK; } @@ -263,75 +273,38 @@ static int db_upgrade_v1(struct db_context *dbc) { - sqlite3_stmt *stmt; int rc; - const char *update_stmt_sql = "ALTER TABLE subscriber ADD COLUMN last_lu_seen TIMESTAMP default NULL"; - const char *set_schema_version_sql = "PRAGMA user_version = 1"; + const char *statements[] = { + "ALTER TABLE subscriber ADD COLUMN last_lu_seen TIMESTAMP default NULL", + "PRAGMA user_version = 1", + }; - rc = sqlite3_prepare_v2(dbc->db, update_stmt_sql, -1, &stmt, NULL); - if (rc != SQLITE_OK) { - LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", update_stmt_sql); - return rc; - } - rc = sqlite3_step(stmt); - db_remove_reset(stmt); - sqlite3_finalize(stmt); + rc = db_run_statements(dbc, statements, ARRAY_SIZE(statements)); if (rc != SQLITE_DONE) { - LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version %d\n", 1); + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 1\n"); return rc; } - - rc = sqlite3_prepare_v2(dbc->db, set_schema_version_sql, -1, &stmt, NULL); - if (rc != SQLITE_OK) { - LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", set_schema_version_sql); - return rc; - } - rc = sqlite3_step(stmt); - if (rc != SQLITE_DONE) - LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version %d\n", 1); - - db_remove_reset(stmt); - sqlite3_finalize(stmt); return rc; } static int db_upgrade_v2(struct db_context *dbc) { - sqlite3_stmt *stmt; int rc; - const char *update_stmt_sql = "ALTER TABLE subscriber ADD COLUMN imei VARCHAR(14)"; - const char *set_schema_version_sql = "PRAGMA user_version = 2"; + const char *statements[] = { + "ALTER TABLE subscriber ADD COLUMN imei VARCHAR(14)", + "PRAGMA user_version = 2", + }; - rc = sqlite3_prepare_v2(dbc->db, update_stmt_sql, -1, &stmt, NULL); - if (rc != SQLITE_OK) { - LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", update_stmt_sql); - return rc; - } - rc = sqlite3_step(stmt); - db_remove_reset(stmt); - sqlite3_finalize(stmt); + rc = db_run_statements(dbc, statements, ARRAY_SIZE(statements)); if (rc != SQLITE_DONE) { LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 2\n"); return rc; } - - rc = sqlite3_prepare_v2(dbc->db, set_schema_version_sql, -1, &stmt, NULL); - if (rc != SQLITE_OK) { - LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", set_schema_version_sql); - return rc; - } - rc = sqlite3_step(stmt); - if (rc != SQLITE_DONE) - LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 2\n"); - - db_remove_reset(stmt); - sqlite3_finalize(stmt); return rc; } static int db_upgrade_v3(struct db_context *dbc) { - sqlite3_stmt *stmt; int rc; /* A newer SQLite version would allow simply 'ATLER TABLE subscriber RENAME COLUMN hlr_number TO msc_number'. @@ -442,23 +415,10 @@ "PRAGMA user_version = 3", }; - int i; - for (i = 0; i < ARRAY_SIZE(statements); i++) { - const char *update_stmt_sql = statements[i]; - - rc = sqlite3_prepare_v2(dbc->db, update_stmt_sql, -1, &stmt, NULL); - if (rc != SQLITE_OK) { - LOGP(DDB, LOGL_ERROR, "Unable to prepare SQL statement '%s'\n", update_stmt_sql); - return rc; - } - rc = sqlite3_step(stmt); - db_remove_reset(stmt); - sqlite3_finalize(stmt); - if (rc != SQLITE_DONE) { - LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 3\n"); - return rc; - } - + rc = db_run_statements(dbc, statements, ARRAY_SIZE(statements)); + if (rc != SQLITE_DONE) { + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 3\n"); + return rc; } return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I2721dfc0a9aadcc7f5ac81a1c0fa87452098996f Gerrit-Change-Number: 15929 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 Thu Oct 31 20:33:05 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 31 Oct 2019 20:33:05 +0000 Subject: Change in osmo-hlr[master]: add db_upgrade test 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-hlr/+/15913 to look at the new patch set (#5). Change subject: add db_upgrade test ...................................................................... add db_upgrade test We have a database schema upgrade path, but so far nothing that verifies that we don't break it. It almost seems like the user data weren't important to us!? Add a db upgrade test: - Create a db with an .sql dump taken from a db created with an old osmo-hlr, producing DB schema version 0. - Run osmo-hlr --db-upgrade --db-check - Verify that the upgrade exited successfully. - Verify that restarting with the upgraded DB works. If python tests are enabled, also: - create a new database using the new osmo-hlr (just built). - replay a VTY transcript to create subscribers as in the old snapshot. - replay some sql modifications as done in the old snapshot. - Get a list of sorted table names, - a list of their sorted columns with all their properties, - and dump the table contents in a column- and value-sorted way. - Compare the resulting dumps and error if there are any diffs. (This is how I found the difference in the imei column that was fixed in I68a00014a3d603fcba8781470bc5285f78b538d0) Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 --- M configure.ac M tests/Makefile.am A tests/db_upgrade/Makefile.am A tests/db_upgrade/create_subscribers.vty A tests/db_upgrade/create_subscribers_step2.sql A tests/db_upgrade/db_upgrade_test.err A tests/db_upgrade/db_upgrade_test.ok A tests/db_upgrade/db_upgrade_test.sh A tests/db_upgrade/hlr_db_v0.sql A tests/db_upgrade/osmo-hlr.cfg M tests/testsuite.at 11 files changed, 417 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/13/15913/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4 Gerrit-Change-Number: 15913 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: