osmo-trx[master]: buildenv: Split up SSE3 and SSE4.1 code
Patch Set 4: Code-Review+1 (1 comment) I possibly need this patch to be able to get a running binary for our osmo-gsm-tester main unit. Despite building --without-sse, I get an illegal instruction as soon as osmo-trx starts to access the SDR. Hopefully this fixes the problem. See https://osmocom.org/issues/1869#note-24 -- Tom, would you mind to review and possibly accept this? https://gerrit.osmocom.org/#/c/2134/4//COMMIT_MSG Commit Message: Line 11: compiler exidantly mixes SSE4.1 instructions into an SSE3, or funny typo :) accidently -- To view, visit https://gerrit.osmocom.org/2134 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I846e190e92f1258cd412d1b2d79b539e204e04b3 Gerrit-PatchSet: 4 Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-HasComments: Yes
osmo-gsm-manuals[master]: osmo-sgsn: fix arrow tips in flow diagrams
Patch Set 5: Code-Review-1 wait, it's no longer changing the arrow tips, but now the arrow style? '->' becomes '=>' -- please reflect that in the commit log and maybe explain why. -- To view, visit https://gerrit.osmocom.org/2022 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7faa0c97ee3705a64289a47bc63f311d05f988b3 Gerrit-PatchSet: 5 Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-HasComments: No
[PATCH] osmo-pcu[master]: fix PACCH paging: don't return early in case of NULL TBF
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/2420 to look at the new patch set (#2). fix PACCH paging: don't return early in case of NULL TBF Commit b78a4a6dfef217c538d45949a6ae725e22a36b05 tried to fix a NULL dereference error, but apparently was overly eager to return, because it looked like all code paths would dereference the tbf. In fact the code path further above, for msg != NULL, has "always" dereferenced the tbf, but the lower code path, the one effecting the paging, has only started to dereference tbf since shortly before the overly eager fix: in da7250ad2c1cd5ddc7d3c6e10435a00b357ef8f7, to "update the dl ctrl msg counter for ms". It seems that this tbf dereference in the paging path is bogus and the cause for the segfault that made me write the early exit fix. Fix that fix: Do not exit early if tbf == NULL, stay in there to be able to reach the paging path below. In case of a message to be sent, assume that tbf is present, and verify: print an error message and abort if there is a msg but no tbf, so that we will see the error if I'm wrong there. In case of no message, go on to send pending pagings, but do not attempt to count ctrl messages for a tbf -- IIUC there will never be a tbf if we're paging. This should avoid segfaults while keeping PACCH paging intact. Tweak a comment for and add a blank line above the paging section. Related: OS#2176 CID#158969 Change-Id: Ib79f4a945e211a13ac7d1e511cc37b0940ac6202 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/2420/2 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 3b940f4..b40ff9a 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -178,11 +178,13 @@ } } - if (!tbf) - return NULL; - /* any message */ if (msg) { + if (!tbf) { + LOGP(DRLCMACSCHED, LOGL_ERROR, +"Control message to be scheduled, but no TBF (TRX=%d, TS=%d)\n", trx, ts); + return NULL; + } tbf->rotate_in_list(); LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling control " "message at RTS for %s (TRX=%d, TS=%d)\n", @@ -191,14 +193,12 @@ tbf->ms()->update_dl_ctrl_msg(); return msg; } - /* schedule PACKET PAGING REQUEST */ + + /* schedule PACKET PAGING REQUEST, if any are pending */ msg = pdch->packet_paging_request(); if (msg) { LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling paging request " "message at RTS for (TRX=%d, TS=%d)\n", trx, ts); - - /* Updates the dl ctrl msg counter for ms */ - tbf->ms()->update_dl_ctrl_msg(); return msg; } -- To view, visit https://gerrit.osmocom.org/2420 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib79f4a945e211a13ac7d1e511cc37b0940ac6202 Gerrit-PatchSet: 2 Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder
[PATCH] osmo-pcu[master]: fix PACCH paging: don't return early in case of NULL TBF
Review at https://gerrit.osmocom.org/2420 fix PACCH paging: don't return early in case of NULL TBF Commit b78a4a6dfef217c538d45949a6ae725e22a36b05 tried to fix a NULL dereference error, but apparently was overly eager to return, because it looked like all code paths would dereference the tbf. In fact the code path further above, for msg != NULL, has "always" dereferenced the tbf, but the lower code path, the one effecting the paging, has only started to dereference tbf since shortly before the overly eager fix: in da7250ad2c1cd5ddc7d3c6e10435a00b357ef8f7, to "update the dl ctrl msg counter for ms". It seems that this tbf dereference in the paging path is bogus and the cause for the segfault that made me write the early exit fix. Fix that fix: Do not exit early if tbf == NULL, stay in there to be able to reach the paging path below. In case of a message to be sent, assume that tbf is present, and verify: print an error message and abort if there is a msg but no tbf, so that we will see the error if I'm wrong there. In case of no message, go on to send pending pagings, but do not attempt to count ctrl messages for a tbf -- IIUC there will never be a tbf if we're paging. This should avoid segfaults while keeping PACCH paging intact. Tweak a log message for and add a blank line above paging section. Related: OS#2176 CID#158969 Change-Id: Ib79f4a945e211a13ac7d1e511cc37b0940ac6202 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/2420/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 3b940f4..b40ff9a 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -178,11 +178,13 @@ } } - if (!tbf) - return NULL; - /* any message */ if (msg) { + if (!tbf) { + LOGP(DRLCMACSCHED, LOGL_ERROR, +"Control message to be scheduled, but no TBF (TRX=%d, TS=%d)\n", trx, ts); + return NULL; + } tbf->rotate_in_list(); LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling control " "message at RTS for %s (TRX=%d, TS=%d)\n", @@ -191,14 +193,12 @@ tbf->ms()->update_dl_ctrl_msg(); return msg; } - /* schedule PACKET PAGING REQUEST */ + + /* schedule PACKET PAGING REQUEST, if any are pending */ msg = pdch->packet_paging_request(); if (msg) { LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling paging request " "message at RTS for (TRX=%d, TS=%d)\n", trx, ts); - - /* Updates the dl ctrl msg counter for ms */ - tbf->ms()->update_dl_ctrl_msg(); return msg; } -- To view, visit https://gerrit.osmocom.org/2420 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib79f4a945e211a13ac7d1e511cc37b0940ac6202 Gerrit-PatchSet: 1 Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr
Build failure of network:osmocom:nightly/osmo-stp in xUbuntu_17.04/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/xUbuntu_17.04/x86_64 Package network:osmocom:nightly/osmo-stp failed to build in xUbuntu_17.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 103s]^~~ [ 103s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o vty_interface.o vty_interface.c [ 104s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o sctp_m3ua_client.o sctp_m3ua_client.c [ 104s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 104s] #include [ 104s] ^ [ 104s] compilation terminated. [ 104s] Makefile:485: recipe for target 'sctp_m3ua_client.o' failed [ 104s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 104s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 104s] Makefile:380: recipe for target 'all-recursive' failed [ 104s] make[2]: *** [all-recursive] Error 1 [ 104s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 104s] Makefile:321: recipe for target 'all' failed [ 104s] make[1]: *** [all] Error 2 [ 104s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 104s] dh_auto_build: make -j1 returned exit code 2 [ 104s] debian/rules:23: recipe for target 'build' failed [ 104s] make: *** [build] Error 2 [ 104s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 104s] [ 104s] cloud122 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:02:22 UTC 2017. [ 104s] [ 104s] ### VM INTERACTION START ### [ 107s] [ 84.731513] reboot: Power down [ 112s] ### VM INTERACTION END ### [ 112s] [ 112s] cloud122 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:02:30 UTC 2017. [ 112s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/osmo-stp in xUbuntu_16.04/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/osmo-stp failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 95s] sctp_m2ua.c:91:3: warning: #warning "Notify any other AS(P) for failover scenario" [-Wcpp] [ 95s] #warning "Notify any other AS(P) for failover scenario" [ 95s]^ [ 95s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o vty_interface.o vty_interface.c [ 96s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o sctp_m3ua_client.o sctp_m3ua_client.c [ 96s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 96s] compilation terminated. [ 96s] Makefile:485: recipe for target 'sctp_m3ua_client.o' failed [ 96s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 96s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 96s] Makefile:380: recipe for target 'all-recursive' failed [ 96s] make[2]: *** [all-recursive] Error 1 [ 96s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 96s] Makefile:321: recipe for target 'all' failed [ 96s] make[1]: *** [all] Error 2 [ 96s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 96s] dh_auto_build: make -j1 returned exit code 2 [ 96s] debian/rules:23: recipe for target 'build' failed [ 96s] make: *** [build] Error 2 [ 96s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 96s] [ 96s] lamb67 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:02:23 UTC 2017. [ 96s] [ 96s] ### VM INTERACTION START ### [ 99s] [ 86.264892] reboot: Power down [ 99s] ### VM INTERACTION END ### [ 99s] [ 99s] lamb67 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:02:26 UTC 2017. [ 99s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/osmo-stp in xUbuntu_16.10/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/xUbuntu_16.10/x86_64 Package network:osmocom:nightly/osmo-stp failed to build in xUbuntu_16.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 74s]^~~ [ 74s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o vty_interface.o vty_interface.c [ 75s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o sctp_m3ua_client.o sctp_m3ua_client.c [ 75s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 75s] #include [ 75s] ^ [ 75s] compilation terminated. [ 75s] Makefile:485: recipe for target 'sctp_m3ua_client.o' failed [ 75s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 75s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 75s] Makefile:380: recipe for target 'all-recursive' failed [ 75s] make[2]: *** [all-recursive] Error 1 [ 75s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 75s] Makefile:321: recipe for target 'all' failed [ 75s] make[1]: *** [all] Error 2 [ 75s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 75s] dh_auto_build: make -j1 returned exit code 2 [ 75s] debian/rules:23: recipe for target 'build' failed [ 75s] make: *** [build] Error 2 [ 75s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 75s] [ 75s] lamb19 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:01:02 UTC 2017. [ 75s] [ 75s] ### VM INTERACTION START ### [ 78s] [ 64.869365] reboot: Power down [ 78s] ### VM INTERACTION END ### [ 78s] [ 78s] lamb19 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:01:06 UTC 2017. [ 78s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/osmo-stp in Debian_8.0/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/Debian_8.0/i586 Package network:osmocom:nightly/osmo-stp failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 88s] CC vty_interface.o [ 89s] CC sctp_m3ua_client.o [ 89s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 89s] #include [ 89s] ^ [ 89s] compilation terminated. [ 89s] Makefile:475: recipe for target 'sctp_m3ua_client.o' failed [ 89s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 89s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 89s] Makefile:370: recipe for target 'all-recursive' failed [ 89s] make[2]: *** [all-recursive] Error 1 [ 89s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 89s] Makefile:310: recipe for target 'all' failed [ 89s] make[1]: *** [all] Error 2 [ 89s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 89s] dh_auto_build: make -j1 returned exit code 2 [ 89s] debian/rules:23: recipe for target 'build' failed [ 89s] make: *** [build] Error 2 [ 89s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 89s] [ 89s] lamb52 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:00:27 UTC 2017. [ 89s] [ 89s] ### VM INTERACTION START ### [ 90s] Powering off. [ 90s] [ 76.338182] reboot: Power down [ 90s] ### VM INTERACTION END ### [ 90s] [ 90s] lamb52 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:00:29 UTC 2017. [ 90s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/osmo-stp in Debian_8.0/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-stp failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 88s] CC vty_interface.o [ 89s] CC sctp_m3ua_client.o [ 89s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 89s] #include [ 89s] ^ [ 89s] compilation terminated. [ 89s] Makefile:475: recipe for target 'sctp_m3ua_client.o' failed [ 89s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 89s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 89s] Makefile:370: recipe for target 'all-recursive' failed [ 89s] make[2]: *** [all-recursive] Error 1 [ 89s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 89s] Makefile:310: recipe for target 'all' failed [ 89s] make[1]: *** [all] Error 2 [ 89s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 89s] dh_auto_build: make -j1 returned exit code 2 [ 89s] debian/rules:23: recipe for target 'build' failed [ 89s] make: *** [build] Error 2 [ 89s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 89s] [ 89s] lamb21 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:00:49 UTC 2017. [ 89s] [ 89s] ### VM INTERACTION START ### [ 90s] Powering off. [ 90s] [ 76.599249] reboot: Power down [ 90s] ### VM INTERACTION END ### [ 90s] [ 90s] lamb21 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:00:51 UTC 2017. [ 90s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/osmo-stp in xUbuntu_16.04/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-stp failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 93s] sctp_m2ua.c:91:3: warning: #warning "Notify any other AS(P) for failover scenario" [-Wcpp] [ 93s] #warning "Notify any other AS(P) for failover scenario" [ 93s]^ [ 94s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o vty_interface.o vty_interface.c [ 94s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o sctp_m3ua_client.o sctp_m3ua_client.c [ 94s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 94s] compilation terminated. [ 94s] Makefile:485: recipe for target 'sctp_m3ua_client.o' failed [ 94s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 94s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 94s] Makefile:380: recipe for target 'all-recursive' failed [ 94s] make[2]: *** [all-recursive] Error 1 [ 94s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 94s] Makefile:321: recipe for target 'all' failed [ 94s] make[1]: *** [all] Error 2 [ 94s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 94s] dh_auto_build: make -j1 returned exit code 2 [ 94s] debian/rules:23: recipe for target 'build' failed [ 94s] make: *** [build] Error 2 [ 94s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 94s] [ 94s] lamb16 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:01:14 UTC 2017. [ 94s] [ 94s] ### VM INTERACTION START ### [ 97s] [ 85.129583] reboot: Power down [ 97s] ### VM INTERACTION END ### [ 97s] [ 97s] lamb16 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:01:17 UTC 2017. [ 97s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/osmo-stp in xUbuntu_17.04/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/xUbuntu_17.04/i586 Package network:osmocom:nightly/osmo-stp failed to build in xUbuntu_17.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 75s]^~~ [ 75s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o vty_interface.o vty_interface.c [ 76s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o sctp_m3ua_client.o sctp_m3ua_client.c [ 76s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 76s] #include [ 76s] ^ [ 76s] compilation terminated. [ 76s] Makefile:485: recipe for target 'sctp_m3ua_client.o' failed [ 76s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 76s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 76s] Makefile:380: recipe for target 'all-recursive' failed [ 76s] make[2]: *** [all-recursive] Error 1 [ 76s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 76s] Makefile:321: recipe for target 'all' failed [ 76s] make[1]: *** [all] Error 2 [ 76s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 76s] dh_auto_build: make -j1 returned exit code 2 [ 76s] debian/rules:23: recipe for target 'build' failed [ 76s] make: *** [build] Error 2 [ 76s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 76s] [ 76s] lamb09 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:00:16 UTC 2017. [ 76s] [ 76s] ### VM INTERACTION START ### [ 79s] [ 65.476433] reboot: Power down [ 79s] ### VM INTERACTION END ### [ 79s] [ 79s] lamb09 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 20:00:19 UTC 2017. [ 79s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/osmo-stp in xUbuntu_16.10/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-stp/xUbuntu_16.10/i586 Package network:osmocom:nightly/osmo-stp failed to build in xUbuntu_16.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-stp Last lines of build log: [ 75s]^~~ [ 75s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o vty_interface.o vty_interface.c [ 76s] gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -DNO_UNIPORTE -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o sctp_m3ua_client.o sctp_m3ua_client.c [ 76s] sctp_m3ua_client.c:25:40: fatal error: osmocom/sigtran/m3ua_types.h: No such file or directory [ 76s] #include [ 76s] ^ [ 76s] compilation terminated. [ 76s] Makefile:485: recipe for target 'sctp_m3ua_client.o' failed [ 76s] make[3]: *** [sctp_m3ua_client.o] Error 1 [ 76s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 76s] Makefile:380: recipe for target 'all-recursive' failed [ 76s] make[2]: *** [all-recursive] Error 1 [ 76s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 76s] Makefile:321: recipe for target 'all' failed [ 76s] make[1]: *** [all] Error 2 [ 76s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 76s] dh_auto_build: make -j1 returned exit code 2 [ 76s] debian/rules:23: recipe for target 'build' failed [ 76s] make: *** [build] Error 2 [ 76s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 76s] [ 76s] lamb18 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 19:58:26 UTC 2017. [ 76s] [ 76s] ### VM INTERACTION START ### [ 79s] [ 66.171622] reboot: Power down [ 79s] ### VM INTERACTION END ### [ 79s] [ 79s] lamb18 failed "build cellmgr-ng_1.4.7.20170426.dsc" at Wed Apr 26 19:58:30 UTC 2017. [ 79s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_16.10/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_16.10/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_16.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 124s] make install-data-hook [ 124s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 124s] make[5]: Nothing to be done for 'install-data-hook'. [ 124s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 124s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 124s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 124s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 124s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 124s]debian/rules override_dh_install [ 124s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 125s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 125s] dh_install [ 125s] dh_install: Cannot find (any matches for) "usr/share/doc/libosmo-netif/*" (tried in "." and "debian/tmp") [ 125s] dh_install: libosmo-netif-doc missing files: usr/share/doc/libosmo-netif/* [ 125s] dh_install: missing files, aborting [ 125s] debian/rules:23: recipe for target 'override_dh_install' failed [ 125s] make[1]: *** [override_dh_install] Error 2 [ 125s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 125s] debian/rules:13: recipe for target 'binary' failed [ 125s] make: *** [binary] Error 2 [ 125s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 125s] [ 125s] cloud101 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:23 UTC 2017. [ 125s] [ 125s] ### VM INTERACTION START ### [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] cloud101 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:27 UTC 2017. [ 129s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_16.04/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 114s] make install-data-hook [ 114s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 114s] make[5]: Nothing to be done for 'install-data-hook'. [ 114s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 114s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 114s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 114s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 114s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 114s]debian/rules override_dh_install [ 114s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 114s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 114s] dh_install [ 114s] dh_install: libosmo-netif-doc missing files: usr/share/doc/libosmo-netif/* [ 114s] dh_install: missing files, aborting [ 114s] debian/rules:23: recipe for target 'override_dh_install' failed [ 114s] make[1]: *** [override_dh_install] Error 2 [ 114s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 114s] debian/rules:13: recipe for target 'binary' failed [ 114s] make: *** [binary] Error 2 [ 114s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 114s] [ 114s] lamb26 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:24 UTC 2017. [ 114s] [ 114s] ### VM INTERACTION START ### [ 117s] [ 104.731880] reboot: Power down [ 117s] ### VM INTERACTION END ### [ 117s] [ 117s] lamb26 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:27 UTC 2017. [ 117s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_17.04/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_17.04/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_17.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 98s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 98s] make[5]: Nothing to be done for 'install-data-hook'. [ 98s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 98s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 98s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 98s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 98s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 98s]debian/rules override_dh_install [ 98s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 99s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 99s] dh_install [ 99s] dh_install: Cannot find (any matches for) "usr/share/doc/libosmo-netif/*" (tried in "." and "debian/tmp") [ 99s] dh_install: libosmo-netif-doc missing files: usr/share/doc/libosmo-netif/* [ 99s] dh_install: missing files, aborting [ 99s] debian/rules:23: recipe for target 'override_dh_install' failed [ 99s] make[1]: *** [override_dh_install] Error 2 [ 99s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 99s] debian/rules:13: recipe for target 'binary' failed [ 99s] make: *** [binary] Error 2 [ 99s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 99s] [ 99s] lamb14 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:21 UTC 2017. [ 99s] [ 99s] ### VM INTERACTION START ### [ 102s] [ 88.131037] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] lamb14 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:25 UTC 2017. [ 102s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64
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: [ 65s] make install-data-hook [ 65s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 65s] make[5]: Nothing to be done for 'install-data-hook'. [ 65s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 65s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 65s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 65s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 65s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 65s]debian/rules override_dh_install [ 65s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 65s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 65s] dh_install [ 65s] dh_install: libosmo-netif-doc missing files (usr/share/doc/libosmo-netif/*), aborting [ 65s] debian/rules:23: recipe for target 'override_dh_install' failed [ 65s] make[1]: *** [override_dh_install] Error 2 [ 65s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 65s] debian/rules:13: recipe for target 'binary' failed [ 65s] make: *** [binary] Error 2 [ 65s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 65s] [ 65s] build71 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:03 UTC 2017. [ 65s] [ 65s] ### VM INTERACTION START ### [ 66s] Powering off. [ 66s] [ 57.796111] reboot: Power down [ 67s] ### VM INTERACTION END ### [ 67s] [ 67s] build71 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:57:05 UTC 2017. [ 67s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586
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: [ 105s] make install-data-hook [ 105s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 105s] make[5]: Nothing to be done for 'install-data-hook'. [ 105s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 105s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 105s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 105s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 105s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 105s]debian/rules override_dh_install [ 105s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 105s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 105s] dh_install [ 105s] dh_install: libosmo-netif-doc missing files (usr/share/doc/libosmo-netif/*), aborting [ 105s] debian/rules:23: recipe for target 'override_dh_install' failed [ 105s] make[1]: *** [override_dh_install] Error 2 [ 105s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 105s] debian/rules:13: recipe for target 'binary' failed [ 105s] make: *** [binary] Error 2 [ 105s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 105s] [ 105s] lamb57 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:56:35 UTC 2017. [ 105s] [ 105s] ### VM INTERACTION START ### [ 106s] Powering off. [ 106s] [ 92.532247] reboot: Power down [ 107s] ### VM INTERACTION END ### [ 107s] [ 107s] lamb57 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:56:37 UTC 2017. [ 107s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_16.04/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_16.04/i586 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 127s] make install-data-hook [ 127s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 127s] make[5]: Nothing to be done for 'install-data-hook'. [ 127s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 127s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 127s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 127s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s]debian/rules override_dh_install [ 127s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 127s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 127s] dh_install [ 127s] dh_install: libosmo-netif-doc missing files: usr/share/doc/libosmo-netif/* [ 127s] dh_install: missing files, aborting [ 127s] debian/rules:23: recipe for target 'override_dh_install' failed [ 127s] make[1]: *** [override_dh_install] Error 2 [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s] debian/rules:13: recipe for target 'binary' failed [ 127s] make: *** [binary] Error 2 [ 127s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 127s] [ 127s] lamb06 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:56:51 UTC 2017. [ 127s] [ 127s] ### VM INTERACTION START ### [ 131s] [ 118.337905] reboot: Power down [ 131s] ### VM INTERACTION END ### [ 131s] [ 131s] lamb06 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:56:55 UTC 2017. [ 131s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_16.10/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_16.10/i586 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_16.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 97s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 97s] make[5]: Nothing to be done for 'install-data-hook'. [ 97s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 97s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 97s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 97s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 97s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 97s]debian/rules override_dh_install [ 97s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 97s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 97s] dh_install [ 97s] dh_install: Cannot find (any matches for) "usr/share/doc/libosmo-netif/*" (tried in "." and "debian/tmp") [ 97s] dh_install: libosmo-netif-doc missing files: usr/share/doc/libosmo-netif/* [ 97s] dh_install: missing files, aborting [ 97s] debian/rules:23: recipe for target 'override_dh_install' failed [ 97s] make[1]: *** [override_dh_install] Error 2 [ 97s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 97s] debian/rules:13: recipe for target 'binary' failed [ 97s] make: *** [binary] Error 2 [ 97s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 97s] [ 97s] lamb64 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:55:32 UTC 2017. [ 97s] [ 97s] ### VM INTERACTION START ### [ 100s] [ 86.882381] reboot: Power down [ 100s] ### VM INTERACTION END ### [ 100s] [ 100s] lamb64 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:55:36 UTC 2017. [ 100s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_17.04/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_17.04/i586 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_17.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 56s] make[5]: Entering directory '/usr/src/packages/BUILD' [ 56s] make[5]: Nothing to be done for 'install-data-hook'. [ 56s] make[5]: Leaving directory '/usr/src/packages/BUILD' [ 56s] make[4]: Leaving directory '/usr/src/packages/BUILD' [ 56s] make[3]: Leaving directory '/usr/src/packages/BUILD' [ 56s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 56s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 56s]debian/rules override_dh_install [ 56s] make[1]: Entering directory '/usr/src/packages/BUILD' [ 56s] sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` [ 56s] dh_install [ 56s] dh_install: Cannot find (any matches for) "usr/share/doc/libosmo-netif/*" (tried in "." and "debian/tmp") [ 56s] dh_install: libosmo-netif-doc missing files: usr/share/doc/libosmo-netif/* [ 56s] dh_install: missing files, aborting [ 56s] debian/rules:23: recipe for target 'override_dh_install' failed [ 56s] make[1]: *** [override_dh_install] Error 2 [ 56s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 56s] debian/rules:13: recipe for target 'binary' failed [ 56s] make: *** [binary] Error 2 [ 56s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 56s] [ 56s] build78 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:55:57 UTC 2017. [ 56s] [ 56s] ### VM INTERACTION START ### [ 59s] [ 50.903705] reboot: Power down [ 59s] ### VM INTERACTION END ### [ 59s] [ 59s] build78 failed "build libosmo-netif_0.0.7.20170426.dsc" at Wed Apr 26 19:56:00 UTC 2017. [ 59s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
libosmocore[master]: Add osmo_rand() function
Patch Set 2: > Sure, that's why getrandom has GRND_NONBLOCK flag and return value > indicating actual number of random bits returned. The consensus (as > I recall it) was to use osmo_rand() for "small" things like tmsi > (with fallback to currently used insecure rand()). The "big" things > are only necessary for crypto-related primitives which can use smth > like gnutls directly. This got to be thoroughly documented of > course. Okay but then at least seed rand with good crypto on start. But by using the kernel for every request you will get to the -EWOULDBLOCK situation a lot earlier. Something that OpenSSL/GNUtls with their KDF are less prone of. The time for a NONCE to repeat with the KDF is probably also higher (but I am out of my area of expertise here). >From an engineer point of view. My SIP code got stuck as I used /dev/urandom >to generate a unique call id. And everytime I remotely logged in through VSAT >I generated enough entropy to make it continue... Just keep it in mind. :) -- To view, visit https://gerrit.osmocom.org/1526 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0241b814ea4c4ce1458f7ad76e31d390383c2048 Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-HasComments: No
libosmo-netif[master]: osmux: Use osmo_gettimeofday for testing puroposes
Patch Set 1: Code-Review+2 yay! \o/ -- To view, visit https://gerrit.osmocom.org/2418 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic39cab74400aca8262a00c0d06884230b1a15ca3 Gerrit-PatchSet: 1 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-HasComments: No
[PATCH] openbsc[master]: gbproxy: add example .service
Review at https://gerrit.osmocom.org/2419 gbproxy: add example .service Change-Id: Ic8144777a77efce4bad44abf6c6abde12fc5149c Related: SYS#3610 --- A openbsc/contrib/systemd/osmo-gbproxy.service 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/19/2419/1 diff --git a/openbsc/contrib/systemd/osmo-gbproxy.service b/openbsc/contrib/systemd/osmo-gbproxy.service new file mode 100644 index 000..a0b7829 --- /dev/null +++ b/openbsc/contrib/systemd/osmo-gbproxy.service @@ -0,0 +1,12 @@ +[Unit] +Description=Osmocom Gb proxy + +[Service] +Type=simple +ExecStart=/usr/bin/osmo-gbproxy -c /etc/osmocom/osmo-gbproxy.cfg +Restart=always +RestartSec=2 +RestartPreventExitStatus=1 + +[Install] +WantedBy=multi-user.target -- To view, visit https://gerrit.osmocom.org/2419 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic8144777a77efce4bad44abf6c6abde12fc5149c Gerrit-PatchSet: 1 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: Max
[PATCH] libosmo-netif[master]: osmux: Use osmo_gettimeofday for testing puroposes
Review at https://gerrit.osmocom.org/2418 osmux: Use osmo_gettimeofday for testing puroposes This way we can use fake time and osmux_test take 700ms instead of >2sec to run. Change-Id: Ic39cab74400aca8262a00c0d06884230b1a15ca3 --- M src/osmux.c M tests/osmux/osmux_test.c 2 files changed, 26 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/18/2418/1 diff --git a/src/osmux.c b/src/osmux.c index 4d12427..d12a39a 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -777,7 +777,7 @@ #ifdef DEBUG_TIMING struct timeval now, diff; - gettimeofday(&now, NULL); + osmo_gettimeofday(&now, NULL); timersub(&now, &h->start, &diff); timersub(&diff,&h->when, &diff); LOGP(DLMIB, LOGL_DEBUG, "we are lagging %lu.%.6lu in scheduled " @@ -806,7 +806,7 @@ h->timer.data = h; #ifdef DEBUG_TIMING - gettimeofday(&h->start, NULL); + osmo_gettimeofday(&h->start, NULL); h->when.tv_sec = when->tv_sec; h->when.tv_usec = when->tv_usec; #endif diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 9941ce3..9e16da7 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -54,6 +55,8 @@ 0xf2, 0x26, 0x33, 0x65, 0x54, }; +#define PKT_TIME_USEC 20*1000 + static int rtp_pkts; static int mark_pkts; #if OSMUX_TEST_USE_TIMING @@ -67,7 +70,7 @@ #if OSMUX_TEST_USE_TIMING struct timeval now, diff; - gettimeofday(&now, NULL); + osmo_gettimeofday(&now, NULL); timersub(&now, &last, &diff); last = now; @@ -159,10 +162,17 @@ osmux_xfrm_input_deliver(&h_input); } } +#if !OSMUX_TEST_USE_TIMING + osmo_gettimeofday_override_add(0, PKT_TIME_USEC); +#endif } - while (rtp_pkts) + while (rtp_pkts) { +#if !OSMUX_TEST_USE_TIMING + osmo_gettimeofday_override_add(1, 0); +#endif osmo_select_main(0); + } if (mark_pkts) { fprintf(stdout, "RTP M bit (marker) mismatch! %d\n", mark_pkts); @@ -204,7 +214,7 @@ if (i % 4 == 0) { #if OSMUX_TEST_USE_TIMING - gettimeofday(&last, NULL); + osmo_gettimeofday(&last, NULL); #endif /* After four RTP messages, squash them into the OSMUX @@ -217,8 +227,12 @@ * messages that are extracted from OSMUX has been * delivered. */ - for (j = 0; j < k-2; j++) + for (j = 0; j < k-2; j++) { osmo_select_main(0); +#if !OSMUX_TEST_USE_TIMING + osmo_gettimeofday_override_add(0,PKT_TIME_USEC); +#endif + } k = 0; } @@ -239,6 +253,12 @@ exit(EXIT_FAILURE); } +#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; +#endif + /* This test doesn't use it, but osmux requires it internally. */ osmo_init_logging(&osmux_test_log_info); log_set_log_level(osmo_stderr_target, LOGL_DEBUG); -- To view, visit https://gerrit.osmocom.org/2418 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic39cab74400aca8262a00c0d06884230b1a15ca3 Gerrit-PatchSet: 1 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol
[PATCH] libosmo-netif[master]: osmux: Add RTP marker bit support
Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/2407 to look at the new patch set (#3). osmux: Add RTP marker bit support According to RFC4867 (RTP payload format for AMR): "The RTP header marker bit (M) SHALL be set to 1 if the first frameblock carried in the packet contains a speech frame which is the first in a talkspurt. For all other packets the marker bit SHALL be set to zero (M=0)." This information bit provides a way for the receiver to better synchronize the delay with ther sender. This is specially useful if AMR DTX features are supported and enabled on the sender. Change-Id: I0315658159429603f1d80a168718b026015060e9 --- M include/osmocom/netif/osmux.h M src/osmux.c M tests/osmux/osmux_test.c 3 files changed, 83 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/07/2407/3 diff --git a/include/osmocom/netif/osmux.h b/include/osmocom/netif/osmux.h index 1d93aa0..5283059 100644 --- a/include/osmocom/netif/osmux.h +++ b/include/osmocom/netif/osmux.h @@ -13,7 +13,8 @@ /* OSmux header: * - * ft (3 bits):0=signalling, 1=voice, 2=dummy + * rtp_m (1 bit): RTP M field (RFC3550, RFC4867) + * ft (2 bits):0=signalling, 1=voice, 2=dummy * ctr (3 bits): Number of batched AMR payloads (starting 0) * amr_f (1 bit): AMR F field (RFC3267) * amr_q (1 bit): AMR Q field (RFC3267) @@ -29,7 +30,8 @@ struct osmux_hdr { #if OSMO_IS_BIG_ENDIAN - uint8_t ft:3, + uint8_t rtp_m:1, + ft:2, ctr:3, amr_f:1, amr_q:1; @@ -37,7 +39,8 @@ uint8_t amr_q:1, amr_f:1, ctr:3, - ft:3; + ft:2, + rtp_m:1; #endif uint8_t seq; #define OSMUX_CID_MAX 255 /* determined by circuit_id */ diff --git a/src/osmux.c b/src/osmux.c index 1dcd04f..4d12427 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -105,8 +105,8 @@ } static struct msgb * -osmux_rebuild_rtp(struct osmux_out_handle *h, - struct osmux_hdr *osmuxh, void *payload, int payload_len) +osmux_rebuild_rtp(struct osmux_out_handle *h, struct osmux_hdr *osmuxh, + void *payload, int payload_len, bool first_pkt) { struct msgb *out_msg; struct rtp_hdr *rtph; @@ -129,6 +129,8 @@ rtph->timestamp = htonl(h->rtp_timestamp); rtph->sequence = htons(h->rtp_seq); rtph->ssrc = htonl(h->rtp_ssrc); + /* rtp packet with the marker bit is always warranted to be the first one */ + rtph->marker = first_pkt && osmuxh->rtp_m; msgb_put(out_msg, sizeof(struct rtp_hdr)); @@ -166,7 +168,7 @@ msg = osmux_rebuild_rtp(h, osmuxh, osmux_get_payload(osmuxh) + i * osmo_amr_bytes(osmuxh->amr_ft), - osmo_amr_bytes(osmuxh->amr_ft)); + osmo_amr_bytes(osmuxh->amr_ft), !i); if (msg == NULL) continue; @@ -264,6 +266,7 @@ osmuxh = (struct osmux_hdr *)state->out_msg->tail; osmuxh->ft = OSMUX_FT_VOICE_AMR; osmuxh->ctr = 0; + osmuxh->rtp_m = osmuxh->rtp_m || state->rtph->marker; osmuxh->amr_f = state->amrh->f; osmuxh->amr_q= state->amrh->q; osmuxh->seq = batch->seq++; @@ -593,6 +596,13 @@ if (bytes > batch->remaining_bytes) return 1; + /* Init of talkspurt (RTP M marker bit) needs to be in the first AMR slot +* of the OSMUX packet, enforce sending previous batch if required: +*/ + if (rtph->marker && circuit->nmsgs != 0) + return 1; + + /* Extra validation: check if this message already exists, should not * happen but make sure we don't propagate duplicated messages. */ diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 2f5a6cd..9941ce3 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -55,6 +55,7 @@ }; static int rtp_pkts; +static int mark_pkts; #if OSMUX_TEST_USE_TIMING static struct timeval last; #endif @@ -62,6 +63,7 @@ static void tx_cb(struct msgb *msg, void *data) { char buf[4096]; + struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; #if OSMUX_TEST_USE_TIMING struct timeval now, diff; @@ -87,6 +89,8 @@ exit(EXIT_FAILURE); } + if (rtph->marker) + mark_pkts--; rtp_pkts--; msgb_free(msg); } @@ -122,6 +126,48 @@ { printf("FAIL: test did not run successfully\n"); exit(EXIT_FAILURE); +} + +static void osmux_test_marker(int ccid) { + struct msgb *msg; + struct rtp_hdr *rtp
libosmo-netif[master]: osmux: Add RTP marker bit support
Patch Set 2: I'm adding a new commit to use osmo_gettimeofday in osmux + osmux_test -- To view, visit https://gerrit.osmocom.org/2407 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0315658159429603f1d80a168718b026015060e9 Gerrit-PatchSet: 2 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: daniel Gerrit-HasComments: No
libosmo-netif[master]: osmux: Add RTP marker bit support
Patch Set 2: is it possible to get this off real time? We have a fake time available in libosmocore. Real time bites us every so often when the build slave is under load. -- To view, visit https://gerrit.osmocom.org/2407 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0315658159429603f1d80a168718b026015060e9 Gerrit-PatchSet: 2 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: daniel Gerrit-HasComments: No
libosmo-netif[master]: osmux: Add RTP marker bit support
Patch Set 2: I can see that the test failed in freebsd due to the timer being fired after 10 secs, but I have been running the test in a loop for a while in my linux PC and I cannot make it fail... -- To view, visit https://gerrit.osmocom.org/2407 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0315658159429603f1d80a168718b026015060e9 Gerrit-PatchSet: 2 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: daniel Gerrit-HasComments: No
osmo-bts[master]: Add MS TO to RSL measurements
Patch Set 5: I don't think using assert here is a good idea - the value comes from dsp/l1 so phone might affect them directly. Letting phone to crash bts is undesirable. -- To view, visit https://gerrit.osmocom.org/1700 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I4dfe5c48834a083e757d5de3236a02e15a238b28 Gerrit-PatchSet: 5 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Alexander Chemeris Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Ivan Kluchnikov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-HasComments: No
[PATCH] osmo-bts[master]: Add MS TO to RSL measurements
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/1700 to look at the new patch set (#6). Add MS TO to RSL measurements Add optional MS timing offset (3GPP TS 45.010 § 1.2) to RSL MEASUREMENT RESULT (3GPP TS 48.058 § 8.4.8). The value is calculated either directly from corresponding BTS measurement or from 3GPP TS 48.058 § 9.3.17 Access Delay (for known TA) and is invalidated after RSL report is sent until new measurement indication or RACH is received. Change-Id: I4dfe5c48834a083e757d5de3236a02e15a238b28 Related: OS#1574 --- M src/common/l1sap.c M src/common/rsl.c 2 files changed, 44 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/1700/6 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 3592096..57a858c 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -431,6 +431,27 @@ return 0; } + +static inline void set_ms_to_data(struct gsm_lchan *lchan, int16_t data, bool set_ms_to) +{ + if (!lchan) + return; + + if (data + 63 > 255) { /* According to 3GPP TS 48.058 §9.3.37 Timing Offset field cannot exceed 255 */ + LOGP(DL1P, LOGL_ERROR, "Attempting to set invalid Timing Offset value %d (MS TO = %u)!\n", +data, set_ms_to); + return; + } + + if (set_ms_to) { + lchan->ms_t_offs = data + 63; + lchan->p_offs = -1; + } else { + lchan->p_offs = data + 63; + lchan->ms_t_offs = -1; + } +} + /* measurement information received from bts model */ static int l1sap_info_meas_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, @@ -455,6 +476,9 @@ ulm.ta_offs_qbits = info_meas_ind->ta_offs_qbits; ulm.ber10k = info_meas_ind->ber10k; ulm.inv_rssi = info_meas_ind->inv_rssi; + + /* we assume that symbol period is 1 bit: */ + set_ms_to_data(lchan, info_meas_ind->ta_offs_qbits / 4, true); lchan_new_ul_meas(lchan, &ulm); @@ -1021,6 +1045,9 @@ return 0; } + /* According to 3GPP TS 48.058 § 9.3.17 Access Delay is expressed same way as TA (number of symbols) */ + set_ms_to_data(get_lchan_by_chan_nr(trx, rach_ind->chan_nr), acc_delay, false); + /* check for handover rach */ if (!L1SAP_IS_CHAN_RACH(rach_ind->chan_nr)) return l1sap_handover_rach(trx, l1sap, rach_ind); diff --git a/src/common/rsl.c b/src/common/rsl.c index 1d0bcea..5fe5a1d 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2220,8 +2220,18 @@ return 0; } +static inline uint8_t ms_to2rsl(const struct gsm_lchan *lchan, const struct lapdm_entity *le) +{ + return (lchan->ms_t_offs >= 0) ? lchan->ms_t_offs : (lchan->p_offs - le->ta); +} + +static inline bool ms_to_valid(const struct gsm_lchan *lchan) +{ + return (lchan->ms_t_offs >= 0) || (lchan->p_offs >= 0); +} + /* 8.4.8 MEASUREMENT RESult */ -static int rsl_tx_meas_res(struct gsm_lchan *lchan, uint8_t *l3, int l3_len) +static int rsl_tx_meas_res(struct gsm_lchan *lchan, uint8_t *l3, int l3_len, const struct lapdm_entity *le) { struct msgb *msg; uint8_t meas_res[16]; @@ -2253,7 +2263,11 @@ lchan->meas.flags &= ~LC_UL_M_F_L1_VALID; } msgb_tl16v_put(msg, RSL_IE_L3_INFO, l3_len, l3); - //msgb_tv_put(msg, RSL_IE_MS_TIMING_OFFSET, FIXME); + if (ms_to_valid(lchan)) { + msgb_tv_put(msg, RSL_IE_MS_TIMING_OFFSET, ms_to2rsl(lchan, le)); + lchan->ms_t_offs = -1; + lchan->p_offs = -1; + } rsl_dch_push_hdr(msg, RSL_MT_MEAS_RES, chan_nr); msg->trx = lchan->ts->trx; @@ -2266,8 +2280,6 @@ { struct gsm_lchan *lchan = ctx; struct abis_rsl_common_hdr *rh; - - /* NOTE: Parameter lapdm_entity *le is ignored */ OSMO_ASSERT(msg); rh = msgb_l2(msg); @@ -2306,7 +2318,7 @@ return 0; } - rc = rsl_tx_meas_res(lchan, msgb_l3(msg), msgb_l3len(msg)); + rc = rsl_tx_meas_res(lchan, msgb_l3(msg), msgb_l3len(msg), le); msgb_free(msg); return rc; } else { -- To view, visit https://gerrit.osmocom.org/1700 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4dfe5c48834a083e757d5de3236a02e15a238b28 Gerrit-PatchSet: 6 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Alexander Chemeris Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Ivan Kluchnikov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: dexter
[MERGED] openbsc[master]: Remove libs from openbsc.pc
Max has submitted this change and it was merged. Change subject: Remove libs from openbsc.pc .. Remove libs from openbsc.pc OpenBSC does not produce any installable libraries, only header files so this section is unnecessary. Change-Id: I4c563d775a84f41f82404e0eaba1a25fdbaac1a5 --- M openbsc/openbsc.pc.in 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/openbsc.pc.in b/openbsc/openbsc.pc.in index aba07e2..17e265d 100644 --- a/openbsc/openbsc.pc.in +++ b/openbsc/openbsc.pc.in @@ -7,5 +7,4 @@ Description: OpenBSC base station controller Requires: Version: @VERSION@ -Libs: -L${libdir} -lopenbsc Cflags: -I${includedir} -- To view, visit https://gerrit.osmocom.org/2019 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I4c563d775a84f41f82404e0eaba1a25fdbaac1a5 Gerrit-PatchSet: 2 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max
openbsc[master]: lchan: add ms_timing_offset member to struct gsm_lchan
Patch Set 1: Code-Review-1 There's already ms_t_offs in gsm_lchan. -- To view, visit https://gerrit.osmocom.org/2409 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ifc4cff7efa4ba0a4b94448767143dd18b6db9325 Gerrit-PatchSet: 1 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-HasComments: No
libosmo-netif[master]: osmux: Add RTP marker bit support
Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/2407 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0315658159429603f1d80a168718b026015060e9 Gerrit-PatchSet: 2 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: daniel Gerrit-HasComments: No
osmo-bts[master]: measurement: Fix reporting of ms timing offset
Patch Set 1: Seems to be duplicate of gerrit 1700. -- To view, visit https://gerrit.osmocom.org/2415 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6cdc310497d9210013b257da91369c203c3c445f Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Max Gerrit-HasComments: No
osmo-bts[master]: measurement: make lchan_meas_check_compute() available to l1...
Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/2411 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ideffe896613e0feda443bc13dac59dcdbbc605aa Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-HasComments: No
[PATCH] osmo-bts[master]: measurement: make lchan_meas_check_compute() available to l1...
Review at https://gerrit.osmocom.org/2411 measurement: make lchan_meas_check_compute() available to l1sap.c lchan_meas_check_compute() is a static function measurement.c. In order to distribute the measurement result calculation events, we need to be able to call lchan_meas_check_compute() from l1sap.c Change-Id: Ideffe896613e0feda443bc13dac59dcdbbc605aa --- M include/osmo-bts/measurement.h M src/common/measurement.c 2 files changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/2411/1 diff --git a/include/osmo-bts/measurement.h b/include/osmo-bts/measurement.h index 2037ff6..2efe40f 100644 --- a/include/osmo-bts/measurement.h +++ b/include/osmo-bts/measurement.h @@ -5,4 +5,6 @@ int trx_meas_check_compute(struct gsm_bts_trx *trx, uint32_t fn); +int lchan_meas_check_compute(struct gsm_lchan *lchan, uint32_t fn); + #endif diff --git a/src/common/measurement.c b/src/common/measurement.c index 472f8f9..79f6ae4 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -196,7 +196,7 @@ return 7; } -static int lchan_meas_check_compute(struct gsm_lchan *lchan, uint32_t fn) +int lchan_meas_check_compute(struct gsm_lchan *lchan, uint32_t fn) { struct gsm_meas_rep_unidir *mru; uint32_t ber_full_sum = 0; -- To view, visit https://gerrit.osmocom.org/2411 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ideffe896613e0feda443bc13dac59dcdbbc605aa Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] osmo-bts[master]: octphy: WIP: fix channel measurement handling
Review at https://gerrit.osmocom.org/2417 octphy: WIP: fix channel measurement handling recent octphy firmware versions do no longer compute the channel measurement results internally. Instead, hand out each frame and the computation is done in software. This requires a change to the octphy code. This patch introduces the changes using ifdef statements in order not to break support for older firmware versions. Note: This is still work in progress. We might consider to remove the ifdef statements again since the old method yielded wrong measurement results anyway. So it would be ok to drop the old non working measurement result computation completely. Change-Id: I0f053bb10b1cb112a8814ee591969d607888e686 --- M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-octphy/l1_if.h 2 files changed, 73 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/17/2417/1 diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index 7b98785..50b41ee 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -76,6 +76,20 @@ /* timeout until which we expect PHY to respond */ #define CMD_TIMEOUT5 +#if (cOCTVC1_MAIN_VERSION_ID >= cOCTVC1_MAIN_VERSION_ID_FN_PARADIGM_CHG) +#define sBurstTiming(x) x +#else +#define sBurstTiming(x) (x >> 2) +#endif + +#if (cOCTVC1_MAIN_VERSION_ID >= cOCTVC1_MAIN_VERSION_ID_FN_PARADIGM_CHG) +/* get rssi, rssi is in q8 format */ +#define sRSSIDbm(x) (x >> 4) +#else +/* get rssi, rssi is in regular format (older firmware versions) */ +#define sRSSIDbm(x) x +#endif + /* allocate a msgb for a Layer1 primitive */ struct msgb *l1p_msgb_alloc(void) { @@ -791,7 +805,8 @@ ***/ static void process_meas_res(struct gsm_bts_trx *trx, uint8_t chan_nr, -tOCTVC1_GSM_MEASUREMENT_INFO * m) +uint32_t fn, uint32_t data_len, +tOCTVC1_GSM_MEASUREMENT_INFO * m) { struct osmo_phsap_prim l1sap; @@ -800,10 +815,40 @@ 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_qbits = m->sBurstTiming; +#if (cOCTVC1_MAIN_VERSION_ID >= cOCTVC1_MAIN_VERSION_ID_FN_PARADIGM_CHG) + /* Update Timing offset for valid radio block */ + if (data_len != 0) { + /* burst timing in 1x */ + l1sap.u.info.u.meas_ind.ta_offs_qbits = m->sBurstTiming; + } else { + /* FIXME, In current implementation, OCTPHY would send DATA_IND +* for all radio blocks (valid or invalid) But timing offset +* is only correct for valid block. so we need different +* counter to accumulate Timing offset.. even we add zero for +* invalid block.. timing offset average calucation would not +* correct. */ + l1sap.u.info.u.meas_ind.ta_offs_qbits = 0; + } + + if (m->usBERTotalBitCnt != 0) { + l1sap.u.info.u.meas_ind.ber10k = + (unsigned int)((m->usBERCnt * BER_10K) / + m->usBERTotalBitCnt); + } else { + l1sap.u.info.u.meas_ind.ber10k = 0; + } + + /* rssi is in q8 format */ + l1sap.u.info.u.meas_ind.inv_rssi = (uint8_t) ((m->sRSSIDbm >> 8) * -1); + + /* copy logical frame number to MEAS IND data structure */ + l1sap.u.info.u.meas_ind.fn = fn; +#else + l1sap.u.info.u.meas_ind.ta_offs_qbits = m->sBurstTiming; l1sap.u.info.u.meas_ind.ber10k = (unsigned int)(m->usBERCnt * 100); l1sap.u.info.u.meas_ind.inv_rssi = (uint8_t) (m->sRSSIDbm * -1); +#endif /* l1sap wants to take msgb ownership. However, as there is no * msg, it will msgb_free(l1sap.oph.msg == NULL) */ @@ -812,9 +857,17 @@ static void dump_meas_res(int ll, tOCTVC1_GSM_MEASUREMENT_INFO * m) { +#if (cOCTVC1_MAIN_VERSION_ID >= cOCTVC1_MAIN_VERSION_ID_FN_PARADIGM_CHG) + LOGPC(DMEAS, ll, + "Meas: RSSI %d dBm, Burst Timing %d Quarter of bits :%d, " + "BER Error Count %d , BER Toatal Bit count %d in last decoded frame\n", + m->sRSSIDbm, m->sBurstTiming, m->sBurstTiming4x, m->usBERCnt, + m->usBERTotalBitCnt); +#else LOGPC(DL1C, ll, ", Meas: RSSI %d dBm, Burst Timing %d Quarter of bits, " "BER Error Count %d in last decoded frame, BER Toatal Bit count %d in last decoded frame\n", m->sRSSIDbm, m->sBurstTiming, m->usBERCnt, m->usBERTotalBitCnt); +#endif } static int handle_mph_time_ind(struct octphy_hdl *fl1, uint8_t trx_id, uint32_t fn) @@ -1007,14 +1060,17 @@ memset(&l1sap, 0, sizeof(l1sap)); /* uplink measurement */ - process_meas_res(trx, chan_nr, &data_ind->MeasurementInfo); + process_meas_res(trx, chan_nr
[PATCH] osmo-bts[master]: measurement: Compute measurement results on measurement idic...
Review at https://gerrit.osmocom.org/2414 measurement: Compute measurement results on measurement idication Computing the measurement results on in l1sap_info_time_ind() all at once may peak the host CPU. On smaller systems (arm based sysmobts) this might cause a noticable delay of other important tasks (e.g. passing l2 messages back and forth) It makes more sense to compute the measurement results continously when l1sap_info_meas_ind() is executed. Change-Id: Iecb9a30c0d716bfc88221cd752b1ffdc74269e30 --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/2414/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 3592096..0b6874a 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -419,11 +419,6 @@ /* Update time on PCU interface */ pcu_tx_time_ind(info_time_ind->fn); - /* check if the measurement period of some lchan has ended -* and pre-compute the respective measurement */ - llist_for_each_entry(trx, &bts->trx_list, list) - trx_meas_check_compute(trx, info_time_ind->fn - 1); - /* increment number of RACH slots that have passed by since the * last time indication */ btsb->load.rach.total += @@ -458,6 +453,10 @@ lchan_new_ul_meas(lchan, &ulm); + /* Check measurement period end and prepare the UL measurment +* report at Meas period End*/ + lchan_meas_check_compute(lchan, info_meas_ind->fn); + return 0; } -- To view, visit https://gerrit.osmocom.org/2414 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iecb9a30c0d716bfc88221cd752b1ffdc74269e30 Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] osmo-bts[master]: WIP: measurement: fix measurement report interval lookup tables
Review at https://gerrit.osmocom.org/2416 WIP: measurement: fix measurement report interval lookup tables The measurment reporting interval, generated from the lookup defind at the beginning of the source code file (*_meas_rep_fn104[]) is off by one, in some case off by 2. This commit corrects the timing by subtracting 1 or 2 from the respective lookup table. NOTE: This is still work in progress. To me this looks like something, that might be octasic specific. Is this allignment really needed for all BTS models? Change-Id: I471a767c7974bdacadc3233d0c3e7b7965f6eafa --- M src/common/measurement.c 1 file changed, 29 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/16/2416/1 diff --git a/src/common/measurement.c b/src/common/measurement.c index 5613894..e1adb8d 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -24,35 +24,40 @@ * 7 6 and 791 to 90 103, 25, 51, 77 */ /* measurement period ends at fn % 104 == ? */ +/* Added (-1) offset in DATA-IND frame number to align with Meas period ends */ static const uint8_t tchf_meas_rep_fn104[] = { - [0] = 103, - [1] = 12, - [2] = 25, - [3] = 38, - [4] = 51, - [5] = 64, - [6] = 77, - [7] = 90, + [0] = 103 - 1, + [1] = 12 - 1, + [2] = 25 - 1, + [3] = 38 - 1, + [4] = 51 - 1, + [5] = 64 - 1, + [6] = 77 - 1, + [7] = 90 - 1, }; + +/* Added (-2) offset in DATA-IND frame number to align with Meas period ends */ static const uint8_t tchh0_meas_rep_fn104[] = { - [0] = 103, - [1] = 103, - [2] = 25, - [3] = 25, - [4] = 51, - [5] = 51, - [6] = 77, - [7] = 77, + [0] = 103 - 2, + [1] = 103 - 2, + [2] = 25 - 2, + [3] = 25 - 2, + [4] = 51 - 2, + [5] = 51 - 2, + [6] = 77 - 2, + [7] = 77 - 2, }; + +/* Added (-1) offset in DATA-IND frame number to align with Meas period ends */ static const uint8_t tchh1_meas_rep_fn104[] = { - [0] = 12, - [1] = 12, - [2] = 38, - [3] = 38, - [4] = 64, - [5] = 64, - [6] = 90, - [7] = 90, + [0] = 12 - 1, + [1] = 12 - 1, + [2] = 38 - 1, + [3] = 38 - 1, + [4] = 64 - 1, + [5] = 64 - 1, + [6] = 90 - 1, + [7] = 90 - 1, }; /* Measurment reporting period for SDCCH8 and SDCCH4 chan -- To view, visit https://gerrit.osmocom.org/2416 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I471a767c7974bdacadc3233d0c3e7b7965f6eafa Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] osmo-bts[master]: measurement: Fix reporting of ms timing offset
Review at https://gerrit.osmocom.org/2415 measurement: Fix reporting of ms timing offset The ms timing offset (RSL_IE_MS_TIMING_OFFSET) is not included in the rsl measurement report message. An incomplete code line, marked with FIXME is present. This commit completes the code. lchan->meas.ms_timing_offset is now included in the rsl measurement report message. Change-Id: I6cdc310497d9210013b257da91369c203c3c445f --- M src/common/rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/2415/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index 7db9939..6d5a0d3 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2265,7 +2265,7 @@ * lchan_meas_update_ordered_TA() in measurement.c */ } msgb_tl16v_put(msg, RSL_IE_L3_INFO, l3_len, l3); - //msgb_tv_put(msg, RSL_IE_MS_TIMING_OFFSET, FIXME); + msgb_tv_put(msg, RSL_IE_MS_TIMING_OFFSET, lchan->meas.ms_timing_offset); rsl_dch_push_hdr(msg, RSL_MT_MEAS_RES, chan_nr); msg->trx = lchan->ts->trx; -- To view, visit https://gerrit.osmocom.org/2415 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6cdc310497d9210013b257da91369c203c3c445f Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] osmo-bts[master]: measurement: fix clearing of L1 info valid flag
Review at https://gerrit.osmocom.org/2413 measurement: fix clearing of L1 info valid flag The layer 1 info valid flag is cleared by rsl_tx_meas_res() when a valid layer 1 info is transmitted via rsl. The flag is now cleared by lchan_meas_update_ordered_TA() in measurement.c, which means that clearing it in rsl.c is no longer needed. Change-Id: Ie511cba7927b4ab80a5b7551c39a253cee14eace --- M src/common/rsl.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/2413/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index a542324..7db9939 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2261,7 +2261,8 @@ msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->meas.bts_tx_pwr); if (lchan->meas.flags & LC_UL_M_F_L1_VALID) { msgb_tv_fixed_put(msg, RSL_IE_L1_INFO, 2, lchan->meas.l1_info); - lchan->meas.flags &= ~LC_UL_M_F_L1_VALID; + /* Note: L1 info valid flag is cleared by function +* lchan_meas_update_ordered_TA() in measurement.c */ } msgb_tl16v_put(msg, RSL_IE_L3_INFO, l3_len, l3); //msgb_tv_put(msg, RSL_IE_MS_TIMING_OFFSET, FIXME); -- To view, visit https://gerrit.osmocom.org/2413 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie511cba7927b4ab80a5b7551c39a253cee14eace Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] osmo-bts[master]: measurement: fix measurement computation
Review at https://gerrit.osmocom.org/2412 measurement: fix measurement computation Timing advance is currently not taken into account when computing the measurement results, this commit fixes that Change-Id: I2e0dfd13b53e8aa2822985f12bf2985e683ab553 --- M include/osmo-bts/measurement.h M src/common/measurement.c 2 files changed, 68 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/2412/1 diff --git a/include/osmo-bts/measurement.h b/include/osmo-bts/measurement.h index 2efe40f..87c8109 100644 --- a/include/osmo-bts/measurement.h +++ b/include/osmo-bts/measurement.h @@ -1,6 +1,9 @@ #ifndef OSMO_BTS_MEAS_H #define OSMO_BTS_MEAS_H +#define MEAS_MAX_TIMING_ADVANCE 63 +#define MEAS_MIN_TIMING_ADVANCE 0 + int lchan_new_ul_meas(struct gsm_lchan *lchan, struct bts_ul_meas *ulm); int trx_meas_check_compute(struct gsm_bts_trx *trx, uint32_t fn); diff --git a/src/common/measurement.c b/src/common/measurement.c index 79f6ae4..5613894 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -196,6 +196,53 @@ return 7; } +/* Update order TA at end of meas period */ +static void lchan_meas_update_ordered_TA(struct gsm_lchan *lchan, +int32_t taqb_sum) +{ + int32_t ms_timing_offset = 0; + uint8_t l1_info_valid; + + l1_info_valid = lchan->meas.flags & LC_UL_M_F_L1_VALID; + + if (l1_info_valid) { + DEBUGP(DMEAS, + "Update TA TimingOffset_Mean:%d, UL RX TA:%d, DL ordered TA:%d, flags:%d \n", + taqb_sum, lchan->meas.l1_info[1], lchan->rqd_ta, + lchan->meas.flags); + + ms_timing_offset = + taqb_sum + (lchan->meas.l1_info[1] - lchan->rqd_ta); + + if (ms_timing_offset > 0) { + if (lchan->rqd_ta < MEAS_MAX_TIMING_ADVANCE) { + /* MS is moving away from BTS. +* So increment Ordered TA by 1 */ + lchan->rqd_ta++; + } + } else if (ms_timing_offset < 0) { + if (lchan->rqd_ta > MEAS_MIN_TIMING_ADVANCE) { + /* MS is moving toward BTS. So decrement +* Ordered TA by 1 */ + lchan->rqd_ta--; + } + } else { + /*MS is not moving so don't change Ordered TA */ + } + + DEBUGP(DMEAS, + "New Update TA--> TimingOff_diff:%d, UL RX TA:%d, DL ordered TA:%d \n", + ms_timing_offset, lchan->meas.l1_info[1], lchan->rqd_ta); + } else { + /*Do Nothing */ + } + + /*Clear L1 INFO valid flag at Meas period end */ + lchan->meas.flags &= ~LC_UL_M_F_L1_VALID; + + return; +} + int lchan_meas_check_compute(struct gsm_lchan *lchan, uint32_t fn) { struct gsm_meas_rep_unidir *mru; @@ -206,6 +253,7 @@ int32_t taqb_sum = 0; unsigned int num_meas_sub = 0; int i; + int32_t ms_timing_offset = 0; /* if measurement period is not complete, abort */ if (!is_meas_complete(ts_pchan(lchan->ts), lchan->ts->nr, @@ -241,6 +289,9 @@ if (num_meas_sub) { ber_sub_sum = ber_sub_sum / num_meas_sub; irssi_sub_sum = irssi_sub_sum / num_meas_sub; + } else { + ber_sub_sum = ber_full_sum; + irssi_sub_sum = irssi_full_sum; } DEBUGP(DMEAS, "%s Computed TA(% 4dqb) BER-FULL(%2u.%02u%%), RSSI-FULL(-%3udBm), " @@ -249,6 +300,20 @@ ber_full_sum%100, irssi_full_sum, ber_sub_sum/100, ber_sub_sum%100, irssi_sub_sum); + /*Update ordered TA for DL SACCH L1 Header */ + lchan_meas_update_ordered_TA(lchan, taqb_sum); + + /* As per 3gpp spec-45.010 sec-1.2, An MS with a round trip +* propagation delay of P symbols, but with a timing advance of T +* symbols, the reported timing offset will be (P-T) quantized to +* the nearest symbol. */ + + ms_timing_offset = taqb_sum + (lchan->meas.l1_info[1] - lchan->rqd_ta); + + /* 0->(-63), 1->(-62)... etc. */ + lchan->meas.ms_timing_offset = + ms_timing_offset + MEAS_MAX_TIMING_ADVANCE; + /* store results */ mru = &lchan->meas.ul_res; mru->full.rx_lev = dbm2rxlev((int)irssi_full_sum * -1); -- To view, visit https://gerrit.osmocom.org/2412 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2e0dfd13b53e8aa2822985f12bf2985e683ab553 Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] osmo-bts[master]: measurement: fix measurement reporting period
Review at https://gerrit.osmocom.org/2410 measurement: fix measurement reporting period The measurement reporting for the MS on a SDCCH lacks some of the periods, defined in 3GPP TS 45.008, secton 8.4.2. This adds the missing conditions by adding complete lookup tables. Change-Id: I23fba50f48415314da40cf5bf86fce2ed3e66af6 --- M src/common/measurement.c 1 file changed, 35 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/10/2410/1 diff --git a/src/common/measurement.c b/src/common/measurement.c index 9987d73..472f8f9 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -55,11 +55,43 @@ [7] = 90, }; +/* Measurment reporting period for SDCCH8 and SDCCH4 chan + * As per in 3GPP TS 45.008, section 8.4.2. + * + * Logical ChanTDMA frame number + * (FN) modulo 102 + * + * SDCCH/8 12 to 11 + * SDCCH/4 37 to 36 + */ + +/* Added interleve offset to Meas period end Fn which + * would reduce the Meas Res msg load at Abis */ + +static const uint8_t sdcch8_meas_rep_fn102[] = { + [0] = 11 + 7, + [1] = 11 + 11, + [2] = 11 + 15, + [3] = 11 + 19, + [4] = 11 + 23, + [5] = 11 + 27, + [6] = 11 + 31, + [7] = 11 + 35 +}; + +static const uint8_t sdcch4_meas_rep_fn102[] = { + [0] = 36 + 4, + [1] = 36 + 8, + [2] = 36 + 14, + [3] = 36 + 18 +}; + + /* determine if a measurement period ends at the given frame number */ static int is_meas_complete(enum gsm_phys_chan_config pchan, unsigned int ts, unsigned int subch, uint32_t fn) { - unsigned int fn_mod; + unsigned int fn_mod = -1; const uint8_t *tbl; int rc = 0; @@ -86,13 +118,13 @@ case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: fn_mod = fn % 102; - if (fn_mod == 11) + if (sdcch8_meas_rep_fn102[subch] == fn_mod) rc = 1; break; case GSM_PCHAN_CCCH_SDCCH4: case GSM_PCHAN_CCCH_SDCCH4_CBCH: fn_mod = fn % 102; - if (fn_mod == 36) + if (sdcch4_meas_rep_fn102[subch] == fn_mod) rc = 1; break; default: -- To view, visit https://gerrit.osmocom.org/2410 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I23fba50f48415314da40cf5bf86fce2ed3e66af6 Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] openbsc[master]: lchan: add ms_timing_offset member to struct gsm_lchan
Review at https://gerrit.osmocom.org/2409 lchan: add ms_timing_offset member to struct gsm_lchan The distribution of the channel measurement calculations over multiple timeslots (continous calculation) requires to keep track of the ms timing offset in struct gsm_lchan Change-Id: Ifc4cff7efa4ba0a4b94448767143dd18b6db9325 --- M openbsc/include/openbsc/gsm_data_shared.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/09/2409/1 diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index 242889a..fc537ad 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -308,6 +308,7 @@ /* last L1 header from the MS */ uint8_t l1_info[2]; struct gsm_meas_rep_unidir ul_res; + uint8_t ms_timing_offset; /*Range -63 to 192*/ } meas; struct { struct amr_multirate_conf amr_mr; -- To view, visit https://gerrit.osmocom.org/2409 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifc4cff7efa4ba0a4b94448767143dd18b6db9325 Gerrit-PatchSet: 1 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: dexter
[PATCH] libosmocore[master]: l1sap: Add frame-number to measurement indication struct
Review at https://gerrit.osmocom.org/2408 l1sap: Add frame-number to measurement indication struct The distribution of the channel measurement calculations over multiple timeslots (continous calculation) requires to keep track of the frame number in struct info_meas_ind_param Change-Id: I8c783b4a92ae2c3cc5d17936a146eb49d47eac37 --- M include/osmocom/gsm/l1sap.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/08/2408/1 diff --git a/include/osmocom/gsm/l1sap.h b/include/osmocom/gsm/l1sap.h index e199efe..183edbc 100644 --- a/include/osmocom/gsm/l1sap.h +++ b/include/osmocom/gsm/l1sap.h @@ -97,6 +97,7 @@ /*! \brief for MEAS MPH-INFO.ind */ struct info_meas_ind_param { uint8_t chan_nr;/*!< \brief Channel Number (Like RSL) */ + uint32_t fn;/*!< \brief GSM Frame Number */ uint16_t ber10k;/*!< \brief BER in units of 0.01% */ int16_t ta_offs_qbits; /*!< \brief timing advance offset (in qbits) */ int16_t c_i_cb; /*!< \brief C/I ratio in 0.1 dB */ -- To view, visit https://gerrit.osmocom.org/2408 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8c783b4a92ae2c3cc5d17936a146eb49d47eac37 Gerrit-PatchSet: 1 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: dexter
libosmo-netif[master]: osmux: Fix delay between RTP packets
Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/2397/2//COMMIT_MSG Commit Message: Line 7: osmux: Fix delay between RTP packets might make sense to write a bit about what kind of implications this wrong #define in the code has, and how it changes with your fix. -- To view, visit https://gerrit.osmocom.org/2397 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I36dc69f9caf591dd1b578bc914a2ce426c7f2813 Gerrit-PatchSet: 2 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-HasComments: Yes
libosmo-netif[master]: osmux: Fix delay between RTP packets
Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/2397 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I36dc69f9caf591dd1b578bc914a2ce426c7f2813 Gerrit-PatchSet: 2 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-HasComments: No
[PATCH] libosmo-netif[master]: osmux: Add RTP marker bit support
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/2407 to look at the new patch set (#2). osmux: Add RTP marker bit support According to RFC4867 (RTP payload format for AMR): "The RTP header marker bit (M) SHALL be set to 1 if the first frameblock carried in the packet contains a speech frame which is the first in a talkspurt. For all other packets the marker bit SHALL be set to zero (M=0)." This information bit provides a way for the receiver to better synchronize the delay with ther sender. This is specially useful if AMR DTX features are supported and enabled on the sender. Change-Id: I0315658159429603f1d80a168718b026015060e9 --- M include/osmocom/netif/osmux.h M src/osmux.c M tests/osmux/osmux_test.c 3 files changed, 81 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/07/2407/2 diff --git a/include/osmocom/netif/osmux.h b/include/osmocom/netif/osmux.h index 1d93aa0..5283059 100644 --- a/include/osmocom/netif/osmux.h +++ b/include/osmocom/netif/osmux.h @@ -13,7 +13,8 @@ /* OSmux header: * - * ft (3 bits):0=signalling, 1=voice, 2=dummy + * rtp_m (1 bit): RTP M field (RFC3550, RFC4867) + * ft (2 bits):0=signalling, 1=voice, 2=dummy * ctr (3 bits): Number of batched AMR payloads (starting 0) * amr_f (1 bit): AMR F field (RFC3267) * amr_q (1 bit): AMR Q field (RFC3267) @@ -29,7 +30,8 @@ struct osmux_hdr { #if OSMO_IS_BIG_ENDIAN - uint8_t ft:3, + uint8_t rtp_m:1, + ft:2, ctr:3, amr_f:1, amr_q:1; @@ -37,7 +39,8 @@ uint8_t amr_q:1, amr_f:1, ctr:3, - ft:3; + ft:2, + rtp_m:1; #endif uint8_t seq; #define OSMUX_CID_MAX 255 /* determined by circuit_id */ diff --git a/src/osmux.c b/src/osmux.c index 1dcd04f..4d12427 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -105,8 +105,8 @@ } static struct msgb * -osmux_rebuild_rtp(struct osmux_out_handle *h, - struct osmux_hdr *osmuxh, void *payload, int payload_len) +osmux_rebuild_rtp(struct osmux_out_handle *h, struct osmux_hdr *osmuxh, + void *payload, int payload_len, bool first_pkt) { struct msgb *out_msg; struct rtp_hdr *rtph; @@ -129,6 +129,8 @@ rtph->timestamp = htonl(h->rtp_timestamp); rtph->sequence = htons(h->rtp_seq); rtph->ssrc = htonl(h->rtp_ssrc); + /* rtp packet with the marker bit is always warranted to be the first one */ + rtph->marker = first_pkt && osmuxh->rtp_m; msgb_put(out_msg, sizeof(struct rtp_hdr)); @@ -166,7 +168,7 @@ msg = osmux_rebuild_rtp(h, osmuxh, osmux_get_payload(osmuxh) + i * osmo_amr_bytes(osmuxh->amr_ft), - osmo_amr_bytes(osmuxh->amr_ft)); + osmo_amr_bytes(osmuxh->amr_ft), !i); if (msg == NULL) continue; @@ -264,6 +266,7 @@ osmuxh = (struct osmux_hdr *)state->out_msg->tail; osmuxh->ft = OSMUX_FT_VOICE_AMR; osmuxh->ctr = 0; + osmuxh->rtp_m = osmuxh->rtp_m || state->rtph->marker; osmuxh->amr_f = state->amrh->f; osmuxh->amr_q= state->amrh->q; osmuxh->seq = batch->seq++; @@ -593,6 +596,13 @@ if (bytes > batch->remaining_bytes) return 1; + /* Init of talkspurt (RTP M marker bit) needs to be in the first AMR slot +* of the OSMUX packet, enforce sending previous batch if required: +*/ + if (rtph->marker && circuit->nmsgs != 0) + return 1; + + /* Extra validation: check if this message already exists, should not * happen but make sure we don't propagate duplicated messages. */ diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 2f5a6cd..8b0a56c 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -55,6 +55,7 @@ }; static int rtp_pkts; +static int mark_pkts; #if OSMUX_TEST_USE_TIMING static struct timeval last; #endif @@ -62,6 +63,7 @@ static void tx_cb(struct msgb *msg, void *data) { char buf[4096]; + struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; #if OSMUX_TEST_USE_TIMING struct timeval now, diff; @@ -87,6 +89,8 @@ exit(EXIT_FAILURE); } + if (rtph->marker) + mark_pkts--; rtp_pkts--; msgb_free(msg); } @@ -122,6 +126,48 @@ { printf("FAIL: test did not run successfully\n"); exit(EXIT_FAILURE); +} + +static void osmux_test_marker(int ccid) { + struct msgb *msg; + struct rtp_hdr *rtph = (
osmo-trx[master]: radioInterface: Remove UmTRX 'diversity' option
Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/2186 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I46752ccf5dbcffbec806081dec03e69a0fbdcdb7 Gerrit-PatchSet: 4 Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Owner: Tom Tsou Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
[MERGED] osmo-hlr[master]: add config example (mostly empty)
Harald Welte has submitted this change and it was merged. Change subject: add config example (mostly empty) .. add config example (mostly empty) So far only the vty and ctrl bind configs exists. Change-Id: I38ef124e9f28bdd744bafd20fa8c310511c0b8ad --- A doc/examples/osmo-hlr.cfg 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/osmo-hlr.cfg b/doc/examples/osmo-hlr.cfg new file mode 100644 index 000..2b49958 --- /dev/null +++ b/doc/examples/osmo-hlr.cfg @@ -0,0 +1,16 @@ +! +! OsmoHLR example configuration +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level all debug + logging level linp error +! +line vty + bind 127.0.0.1 +ctrl + bind 127.0.0.1 -- To view, visit https://gerrit.osmocom.org/2012 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I38ef124e9f28bdd744bafd20fa8c310511c0b8ad Gerrit-PatchSet: 4 Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr
osmo-hlr[master]: add config example (mostly empty)
Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/2012 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I38ef124e9f28bdd744bafd20fa8c310511c0b8ad Gerrit-PatchSet: 4 Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-HasComments: No
libosmocore[master]: control_if: Add control interface commands for FSMs
Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/2378 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0f80340ee9c61c88962fdd6764a6098a844d0d1e Gerrit-PatchSet: 1 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
[MERGED] libosmocore[master]: ctrl: Allow installation of additional node lookup helpers
Harald Welte has submitted this change and it was merged. Change subject: ctrl: Allow installation of additional node lookup helpers .. ctrl: Allow installation of additional node lookup helpers The existing code assumes that the main application knows about all control command nodes and can thus present one lookup function. As libraries are getting their own control interface handling, this is too restrictive, and we need a way how library code can dynamically register more node lookup helpers. We can now do this by means of a ctrl_lookup_register() function. Change-Id: Ib69908d1c57f5bb721d5496e3b4a5258fca450e3 --- M include/osmocom/ctrl/control_if.h M src/ctrl/control_if.c 2 files changed, 43 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/ctrl/control_if.h b/include/osmocom/ctrl/control_if.h index f2af1db..a740a96 100644 --- a/include/osmocom/ctrl/control_if.h +++ b/include/osmocom/ctrl/control_if.h @@ -29,3 +29,5 @@ ctrl_cmd_lookup lookup); struct ctrl_connection *osmo_ctrl_conn_alloc(void *ctx, void *data); int ctrl_cmd_handle(struct ctrl_handle *ctrl, struct ctrl_cmd *cmd, void *data); + +int ctrl_lookup_register(ctrl_cmd_lookup lookup); diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index d2eb3e9..f1cc7ab 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -61,6 +61,13 @@ vector ctrl_node_vec; +/* global list of control interface lookup helpers */ +struct lookup_helper { + struct llist_head list; + ctrl_cmd_lookup lookup; +}; +static LLIST_HEAD(ctrl_lookup_helpers); + int ctrl_parse_get_num(vector vline, int i, long *num) { char *token, *tmp; @@ -225,12 +232,21 @@ } for (i=0;ilookup) rc = ctrl->lookup(data, vline, &node, &cmd->node, &i); else rc = 0; + + if (!rc) { + llist_for_each_entry(lh, &ctrl_lookup_helpers, list) { + rc = lh->lookup(data, vline, &node, &cmd->node, &i); + if (rc) + break; + } + } if (rc == 1) { /* do nothing */ @@ -733,3 +749,28 @@ talloc_free(ctrl); return NULL; } + +/*! \brief Install a lookup helper function for control nodes + * This function is used by e.g. library code to install lookup helpers + * for additional nodes in the control interface. + * \param[in] lookup The lookup helper function + * \retuns - on success; negative on error. + */ +int ctrl_lookup_register(ctrl_cmd_lookup lookup) +{ + struct lookup_helper *lh; + + /* avoid double registration */ + llist_for_each_entry(lh, &ctrl_lookup_helpers, list) { + if (lh->lookup == lookup) + return -EEXIST; + } + + lh = talloc_zero(NULL, struct lookup_helper); + if (!lh) + return -ENOMEM; + + lh->lookup = lookup; + llist_add_tail(&lh->list, &ctrl_lookup_helpers); + return 0; +} -- To view, visit https://gerrit.osmocom.org/2374 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib69908d1c57f5bb721d5496e3b4a5258fca450e3 Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder
osmo-bts[master]: octphy: align frame number for new firmware versions
Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/1965 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib93d5fb3b34ff92f10021a0e9ce9c8aa3044b7ff Gerrit-PatchSet: 6 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
osmo-bts[master]: octphy: ensure that 11 bit rach flag is not set
Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/2390 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ifa165c56e54d272caafa45d1bf0e177848fcdfbd Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
osmo-bts[master]: octphy: activate CBCH after all physical channels are activated
Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/2314 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie307bf9f370a346686e3bd8c8a8483953a1bc279 Gerrit-PatchSet: 4 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
osmo-bts[master]: measurement/cosmetic: Fixup source code comment
Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/2387 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I3d3488c97d0bffa7d449d3675afcc75b2a6a2703 Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-HasComments: No
osmo-bts[master]: measurement/cosmetic: Fixup source code comment
Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/2388 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic6e4037f965772e6b851c67662d5e7bf64cc04eb Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-HasComments: No
osmo-bts[master]: bts: revert trx shutdown order
Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/1977 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I18485de586b402610f9e98053d69e92bc9b18dc2 Gerrit-PatchSet: 6 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
libosmocore[master]: Add osmo_rand() function
Patch Set 2: Sure, that's why getrandom has GRND_NONBLOCK flag and return value indicating actual number of random bits returned. The consensus (as I recall it) was to use osmo_rand() for "small" things like tmsi (with fallback to currently used insecure rand()). The "big" things are only necessary for crypto-related primitives which can use smth like gnutls directly. This got to be thoroughly documented of course. -- To view, visit https://gerrit.osmocom.org/1526 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0241b814ea4c4ce1458f7ad76e31d390383c2048 Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-HasComments: No
libosmocore[master]: Add osmo_rand() function
Patch Set 2: Sorry to not have been in the room at that time and I thought someone else would raise these points. * OpenSSL/GNUtls take random bits from the kernel and then use something like a KDF to generate new values and only re-seeds if needed (e.g. this explains the OpenSSL/android zygote security issue that existed as after the fork two apps would generate the same random numbers). Still it leaves more rand in the kernel, avoids syscalls, apparently is still secure. * /dev/urandom can block. Be prepared for that. Specially when taking more random out of the kernel. -- To view, visit https://gerrit.osmocom.org/1526 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0241b814ea4c4ce1458f7ad76e31d390383c2048 Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-HasComments: No
[MERGED] libosmo-sccp[master]: Fix debian builds
Max has submitted this change and it was merged. Change subject: Fix debian builds .. Fix debian builds Add missing libosmogsm dependency. Change-Id: I6e5cf393ffe81c582966ca0e9479e6deeffa9280 Fixes: OS#2182 --- M configure.ac M src/Makefile.am M src/ipa.c 3 files changed, 4 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 82c7ee8..3a05d54 100644 --- a/configure.ac +++ b/configure.ac @@ -29,6 +29,7 @@ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.3.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.3.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.0.6) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.9.5) old_LIBS=$LIBS AC_SEARCH_LIBS([sctp_send], [sctp], [ diff --git a/src/Makefile.am b/src/Makefile.am index 15f17fe..5f0b3f9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) -AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMONETIF_CFLAGS) +AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMONETIF_CFLAGS) noinst_HEADERS = sccp_internal.h xua_asp_fsm.h xua_as_fsm.h xua_internal.h @@ -32,4 +32,4 @@ osmo_ss7.c osmo_ss7_hmrt.c xua_asp_fsm.c xua_as_fsm.c \ osmo_ss7_vty.c sccp_vty.c ipa.c libosmo_sigtran_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined -export-symbols-regex '^osmo_' -libosmo_sigtran_la_LIBADD = $(LIBOSMOCORE_LIBS) $(LIBOSMONETIF_LIBS) $(LIBSCTP_LIBS) +libosmo_sigtran_la_LIBADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMONETIF_LIBS) $(LIBSCTP_LIBS) diff --git a/src/ipa.c b/src/ipa.c index df3dbd1..a7060db 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -29,6 +29,7 @@ #include #include #include +#include #include //#include -- To view, visit https://gerrit.osmocom.org/2404 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6e5cf393ffe81c582966ca0e9479e6deeffa9280 Gerrit-PatchSet: 1 Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max
[MERGED] openbsc[master]: Fix MS TO measurement representation
Max has submitted this change and it was merged. Change subject: Fix MS TO measurement representation .. Fix MS TO measurement representation * set proper flag when saving MS Timing Offset * use gsm_subscriber's IMSI or lchan's name if bsc_subscriber is unknown * add comments with spec reference * store/display MS Timing Offset instead of raw Timing Offset field from RSL * Compute MS Timing Offset [-63; 192] from Timing Offset field [0; 255], adjust structure gsm_meas_rep with proper type to store it Change-Id: I7e003d23a6edb714c5f17688fd6a8edac131161d Related: OS#1574 --- M openbsc/include/openbsc/meas_rep.h M openbsc/src/libbsc/abis_rsl.c M openbsc/src/libbsc/bsc_vty.c M openbsc/src/libmsc/smpp_openbsc.c M openbsc/src/utils/meas_db.c M openbsc/src/utils/meas_vis.c 6 files changed, 22 insertions(+), 13 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/include/openbsc/meas_rep.h b/openbsc/include/openbsc/meas_rep.h index 6d36f34..b0c03f0 100644 --- a/openbsc/include/openbsc/meas_rep.h +++ b/openbsc/include/openbsc/meas_rep.h @@ -39,7 +39,8 @@ struct gsm_meas_rep_unidir dl; uint8_t bs_power; - uint8_t ms_timing_offset; + /* according to 3GPP TS 48.058 § MS Timing Offset [-63; 192] */ + int16_t ms_timing_offset; struct { int8_t pwr; /* MS power in dBm */ uint8_t ta; /* MS timing advance */ diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c index 5ae707c..be687eb 100644 --- a/openbsc/src/libbsc/abis_rsl.c +++ b/openbsc/src/libbsc/abis_rsl.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -1369,8 +1370,14 @@ int i; const char *name = ""; - if (lchan && lchan->conn) - name = bsc_subscr_name(lchan->conn->bsub); + if (lchan && lchan->conn) { + if (lchan->conn->bsub) + name = bsc_subscr_name(lchan->conn->bsub); + else if (lchan->conn->subscr) + name = lchan->conn->subscr->imsi; + else + name = lchan->name; + } DEBUGP(DMEAS, "[%s] MEASUREMENT RESULT NR=%d ", name, mr->nr); @@ -1379,6 +1386,7 @@ print_meas_rep_uni(&mr->ul, "ul"); DEBUGPC(DMEAS, "BS_POWER=%d ", mr->bs_power); + if (mr->flags & MEAS_REP_F_MS_TO) DEBUGPC(DMEAS, "MS_TO=%d ", mr->ms_timing_offset); @@ -1452,9 +1460,11 @@ mr->bs_power = *TLVP_VAL(&tp, RSL_IE_BS_POWER); /* Optional Parts */ - if (TLVP_PRESENT(&tp, RSL_IE_MS_TIMING_OFFSET)) - mr->ms_timing_offset = - *TLVP_VAL(&tp, RSL_IE_MS_TIMING_OFFSET); + if (TLVP_PRESENT(&tp, RSL_IE_MS_TIMING_OFFSET)) { + /* According to 3GPP TS 48.058 § MS Timing Offset = Timing Offset field - 63 */ + mr->ms_timing_offset = *TLVP_VAL(&tp, RSL_IE_MS_TIMING_OFFSET) - 63; + mr->flags |= MEAS_REP_F_MS_TO; + } if (TLVP_PRESENT(&tp, RSL_IE_L1_INFO)) { struct e1inp_sign_link *sign_link = msg->dst; diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c index c1882fc..3c70580 100644 --- a/openbsc/src/libbsc/bsc_vty.c +++ b/openbsc/src/libbsc/bsc_vty.c @@ -1062,8 +1062,7 @@ mr->flags & MEAS_REP_F_DL_VALID ? " " : "DLinval ", VTY_NEWLINE); if (mr->flags & MEAS_REP_F_MS_TO) - vty_out(vty, "%s MS Timing Offset: %u%s", prefix, - mr->ms_timing_offset, VTY_NEWLINE); + vty_out(vty, "%s MS Timing Offset: %d%s", prefix, mr->ms_timing_offset, VTY_NEWLINE); if (mr->flags & MEAS_REP_F_MS_L1) vty_out(vty, "%s L1 MS Power: %u dBm, Timing Advance: %u%s", prefix, mr->ms_l1.pwr, mr->ms_l1.ta, VTY_NEWLINE); diff --git a/openbsc/src/libmsc/smpp_openbsc.c b/openbsc/src/libmsc/smpp_openbsc.c index 2703a24..1671a62 100644 --- a/openbsc/src/libmsc/smpp_openbsc.c +++ b/openbsc/src/libmsc/smpp_openbsc.c @@ -437,8 +437,8 @@ append_tlv_u8(req_tlv, TLVID_osmo_ta, mr->ms_l1.ta); ms_dbm = ms_pwr_dbm(lchan->ts->trx->bts->band, mr->ms_l1.pwr); append_tlv_u8(req_tlv, TLVID_osmo_ms_l1_txpwr, ms_dbm); - } else if (mr->flags & MEAS_REP_F_MS_TO) - append_tlv_u8(req_tlv, TLVID_osmo_ta, mr->ms_timing_offset); + } else if (mr->flags & MEAS_REP_F_MS_TO) /* Save Timing Offset field = MS Timing Offset + 63 */ + append_tlv_u8(req_tlv, TLVID_osmo_ta, mr->ms_timing_offset + 63); append_tlv_u16(req_tlv, TLVID_osmo_rxlev_ul, rxlev2dbm(ul_meas->full.rx_lev)); diff --git a/openbsc/src/utils/meas_db.c b/openbsc/src/utils/meas_db.c ind
[MERGED] libosmo-netif[master]: Fix debian packaging
Max has submitted this change and it was merged. Change subject: Fix debian packaging .. Fix debian packaging * add separate -doc packages * fix dh_install override * add conflict with previous version Change-Id: I2781c800d39923c5541bac00f00cb128f4acf008 --- M debian/control A debian/libosmo-netif-doc.doc-base A debian/libosmo-netif-doc.install M debian/rules 4 files changed, 23 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index f4c94bb..bf403e5 100644 --- a/debian/control +++ b/debian/control @@ -24,6 +24,7 @@ Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libosmonetif2 Multi-Arch: same Description: Common/shared code regarding network interface for OpenBSC The libosmo-netif library is one of the libraries needed by the @@ -47,6 +48,19 @@ This package contains the development files needed for developing with the libosmo-netif library. +Package: libosmo-netif-doc +Architecture: all +Section: doc +Depends: ${misc:Depends}, + libosmonetif3, + libjs-jquery +Description: Documentation for the Osmo network interface library + The libosmo-netif library is one of the libraries needed by the + OpenBSC GSM infrastructure software. This library in particular implements + the shared code for network interfaces. + . + This package contains the documentation for the libosmo-netif library. + Package: libosmo-netif-dbg Section: debug Architecture: any diff --git a/debian/libosmo-netif-doc.doc-base b/debian/libosmo-netif-doc.doc-base new file mode 100644 index 000..ce8aa50 --- /dev/null +++ b/debian/libosmo-netif-doc.doc-base @@ -0,0 +1,7 @@ +Document: libosmo-netif-doc +Title: Documentation for the libosmo-netif library +Section: Programming + +Format: HTML +Index: /usr/share/doc/libosmo-netif/html/index.html +Files: /usr/share/doc/libosmo-netif/html/*.html diff --git a/debian/libosmo-netif-doc.install b/debian/libosmo-netif-doc.install new file mode 100644 index 000..d199687 --- /dev/null +++ b/debian/libosmo-netif-doc.install @@ -0,0 +1 @@ +usr/share/doc/libosmo-netif/* diff --git a/debian/rules b/debian/rules index f398831..ce5c618 100755 --- a/debian/rules +++ b/debian/rules @@ -20,8 +20,8 @@ dh_autoreconf override_dh_install: - dh_install sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` + dh_install override_dh_clean: dh_clean -- To view, visit https://gerrit.osmocom.org/2401 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I2781c800d39923c5541bac00f00cb128f4acf008 Gerrit-PatchSet: 1 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max
libosmo-netif[master]: osmux: Add RTP marker bit support
Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/2407/1/include/osmocom/netif/osmux.h File include/osmocom/netif/osmux.h: PS1, Line 35: r > doesn't this break backwards compatibility? The FT has one less bit - ok. Indeed, it brakes backwards compatibility. But leaving rtp_m on the 3rd bit I guess would break backwards compatibility anyways. At least if the sender sets the rtp_m bit to 1, then the receiver uses the older version it would not be able to find out which type of packet is it and it would drop it. Of course, the situation would be a better because most packets are probably not dropped. I initially did it this way to have more logical ordering of the fields, but I actually realize other ones are not in the most logical order but just trying to optimize space, so I'll move rtp_m to be next to ft. -- To view, visit https://gerrit.osmocom.org/2407 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0315658159429603f1d80a168718b026015060e9 Gerrit-PatchSet: 1 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: daniel Gerrit-HasComments: Yes