Build failure of network:osmocom:latest/libusrp in Debian_Unstable/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libusrp/Debian_Unstable/x86_64 Package network:osmocom:latest/libusrp failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libusrp Last lines of build log: [ 213s] touch libfx2.lib [ 213s] for obj in delay.rel fx2utils.rel i2c.rel isr.rel timer.rel usb_common.rel; do basename $obj .rel >> libfx2.lib ; done [ 213s] make[4]: Leaving directory '/usr/src/packages/BUILD/firmware/lib' [ 213s] Making all in src [ 213s] make[4]: Entering directory '/usr/src/packages/BUILD/firmware/src' [ 213s] Making all in common [ 213s] make[5]: Entering directory '/usr/src/packages/BUILD/firmware/src/common' [ 213s] srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h [ 213s] /usr/bin/env: 'python': No such file or directory [ 213s] make[5]: *** [Makefile:523: usrp_gpif.c] Error 127 [ 213s] make[5]: Leaving directory '/usr/src/packages/BUILD/firmware/src/common' [ 213s] make[4]: *** [Makefile:405: all-recursive] Error 1 [ 213s] make[4]: Leaving directory '/usr/src/packages/BUILD/firmware/src' [ 213s] make[3]: *** [Makefile:405: all-recursive] Error 1 [ 213s] make[3]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 213s] make[2]: *** [Makefile:626: all-recursive] Error 1 [ 213s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 213s] make[1]: *** [Makefile:547: all] Error 2 [ 213s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 213s] dh_auto_build: error: make -j1 returned exit code 2 [ 213s] make: *** [debian/rules:13: build] Error 25 [ 213s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 213s] ### VM INTERACTION START ### [ 216s] [ 202.785324] sysrq: SysRq : Power Off [ 216s] [ 202.790503] reboot: Power down [ 217s] ### VM INTERACTION END ### [ 217s] [ 217s] lamb61 failed "build libusrp_3.4.4.dsc" at Thu Jun 11 02:06:22 UTC 2020. [ 217s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:latest/libusrp in Debian_Testing/x86_64
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libusrp/Debian_Testing/x86_64 Package network:osmocom:latest/libusrp failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libusrp Last lines of build log: [ 121s] touch libfx2.lib [ 121s] for obj in delay.rel fx2utils.rel i2c.rel isr.rel timer.rel usb_common.rel; do basename $obj .rel >> libfx2.lib ; done [ 121s] make[4]: Leaving directory '/usr/src/packages/BUILD/firmware/lib' [ 121s] Making all in src [ 122s] make[4]: Entering directory '/usr/src/packages/BUILD/firmware/src' [ 122s] Making all in common [ 122s] make[5]: Entering directory '/usr/src/packages/BUILD/firmware/src/common' [ 122s] srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h [ 122s] /usr/bin/env: 'python': No such file or directory [ 122s] make[5]: *** [Makefile:523: usrp_gpif.c] Error 127 [ 122s] make[5]: Leaving directory '/usr/src/packages/BUILD/firmware/src/common' [ 122s] make[4]: *** [Makefile:405: all-recursive] Error 1 [ 122s] make[4]: Leaving directory '/usr/src/packages/BUILD/firmware/src' [ 122s] make[3]: *** [Makefile:405: all-recursive] Error 1 [ 122s] make[3]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 122s] make[2]: *** [Makefile:626: all-recursive] Error 1 [ 122s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 122s] make[1]: *** [Makefile:547: all] Error 2 [ 122s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 122s] dh_auto_build: error: make -j1 returned exit code 2 [ 122s] make: *** [debian/rules:13: build] Error 25 [ 122s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 122s] ### VM INTERACTION START ### [ 125s] [ 117.009831] sysrq: SysRq : Power Off [ 125s] [ 117.010997] reboot: Power down [ 125s] ### VM INTERACTION END ### [ 125s] [ 125s] build85 failed "build libusrp_3.4.4.dsc" at Thu Jun 11 02:04:21 UTC 2020. [ 125s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/)
Change in osmo-gsm-manuals[master]: bibliography, glossary: add MSC pooling related bits
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18780 ) Change subject: bibliography, glossary: add MSC pooling related bits .. bibliography, glossary: add MSC pooling related bits Add 3GPP TS 23.236, "NRI" and "MSC pool". Depends: Ia60afc8a91189c9de0d8e8065781ed463bf18d7e (osmo-bsc) Change-Id: I0640db26dc85ab7723c7160e405fc73f412fd706 --- M common/chapters/bibliography.adoc M common/chapters/glossary.adoc 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/80/18780/1 diff --git a/common/chapters/bibliography.adoc b/common/chapters/bibliography.adoc index 623f648..ad86ac2 100644 --- a/common/chapters/bibliography.adoc +++ b/common/chapters/bibliography.adoc @@ -41,6 +41,9 @@ - [[[3gpp-ts-23-048]]] 3GPP TS 23.048: Security mechanisms for the (U)SIM application toolkit; Stage 2 http://www.3gpp.org/DynaReport/23048.htm +- [[[3gpp-ts-23-236]]] 3GPP TS 23.236: Intra-domain connection of Radio Access + Network (RAN) nodes to multiple Core Network (CN) nodes + http://www.3gpp.org/DynaReport/23236.htm - [[[3gpp-ts-24-007]]] 3GPP TS 24.007: Mobile radio interface signalling layer 3; General Aspects http://www.3gpp.org/DynaReport/24007.htm diff --git a/common/chapters/glossary.adoc b/common/chapters/glossary.adoc index 0c914cb..d6a6c2d 100644 --- a/common/chapters/glossary.adoc +++ b/common/chapters/glossary.adoc @@ -201,6 +201,10 @@ MSC:: Mobile Switching Center; network element in the circuit-switched core network +MSC pool:: + A number of redundant MSCs serving the same core network, which a BSC / RNC + distributes load across; see also the "MSC Pooling" chapter in OsmoBSC's user + manual <> and _3GPP TS 23.236_ <<3gpp-ts-23-236>> MSISDN:: Mobile Subscriber ISDN Number; telephone number of the subscriber MT:: @@ -214,6 +218,10 @@ NITB:: Network In The Box; combines functionality traditionally provided by BSC, MSC, VLR, HLR, SMSC functions; see OsmoNITB +NRI:: + Network Resource Indicator, typically 10 bits of a TMSI indicating which MSC + of an MSC pool attached the subscriber; see also the "MSC Pooling" chapter in + OsmoBSC's user manual <> and _3GPP TS 23.236_ <<3gpp-ts-23-236>> NSEI:: NS Entity Identifier NVCI:: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I0640db26dc85ab7723c7160e405fc73f412fd706 Gerrit-Change-Number: 18780 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-bsc[master]: mscpool: add user manual chapter
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18779 to look at the new patch set (#2). Change subject: mscpool: add user manual chapter .. mscpool: add user manual chapter Change-Id: Ia60afc8a91189c9de0d8e8065781ed463bf18d7e --- A doc/manuals/chapters/mscpool.adoc M doc/manuals/osmobsc-usermanual.adoc 2 files changed, 214 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/79/18779/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia60afc8a91189c9de0d8e8065781ed463bf18d7e Gerrit-Change-Number: 18779 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Build failure of network:osmocom:nightly/open5gs in xUbuntu_18.10/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/xUbuntu_18.10/i586 Package network:osmocom:nightly/open5gs failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 299s] [1920/2112] cc -Isrc/nrf/src@nrf@@nrf@sta -Isrc/nrf -I../src/nrf -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -I/usr/include/p11-kit-1 -I/usr/include/i386-linux-gnu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/nrf/src@nrf@@nrf@sta/nrf-sm.c.o' -MF 'src/nrf/src@nrf@@nrf@sta/nrf-sm.c.o.d' -o 'src/nrf/src@nrf@@nrf@sta/nrf-sm.c.o' -c ../src/nrf/nrf-sm.c [ 299s] [1921/2112] rm -f src/nrf/libnrf.a && gcc-ar csrD src/nrf/libnrf.a 'src/nrf/src@nrf@@nrf@sta/context.c.o' 'src/nrf/src@nrf@@nrf@sta/event.c.o' 'src/nrf/src@nrf@@nrf@sta/timer.c.o' 'src/nrf/src@nrf@@nrf@sta/nnrf-handler.c.o' 'src/nrf/src@nrf@@nrf@sta/nnrf-build.c.o' 'src/nrf/src@nrf@@nrf@sta/sbi-path.c.o' 'src/nrf/src@nrf@@nrf@sta/nf-sm.c.o' 'src/nrf/src@nrf@@nrf@sta/nrf-sm.c.o' 'src/nrf/src@nrf@@nrf@sta/init.c.o' [ 299s] [1922/2112] cc -Isrc/pcrf/src@pcrf@@pcrf@sta -Isrc/pcrf -I../src/pcrf -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/diameter/rx -I../lib/diameter/rx -Ilib/diameter/common -I../lib/diameter/common -Isubprojects/freeDiameter/include -I../subprojects/freeDiameter/include -Isubprojects/freeDiameter -I../subprojects/freeDiameter -Ilib/diameter/gx -I../lib/diameter/gx -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-gx-path.c.o' -MF 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-gx-path.c.o.d' -o 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-gx-path.c.o' -c ../src/pcrf/pcrf-gx-path.c [ 299s] [1923/2112] rm -f src/pcrf/libpcrf.a && gcc-ar csrD src/pcrf/libpcrf.a 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-init.c.o' 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-context.c.o' 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-fd-path.c.o' 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-gx-path.c.o' 'src/pcrf/src@pcrf@@pcrf@sta/pcrf-rx-path.c.o' [ 299s] [1924/2112] cc -Isrc/udm/src@udm@@udm@sta -Isrc/udm -I../src/udm -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/p11-kit-1 -I/usr/include/i386-linux-gnu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels
Change in osmo-bsc[master]: MSC pooling: add 'no allow-attach' for MSC off-loading
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18778 ) Change subject: MSC pooling: add 'no allow-attach' for MSC off-loading .. MSC pooling: add 'no allow-attach' for MSC off-loading As in 3GPP TS 23.236, to offload an MSC, the BSC must be able to avoid attaching new subscribers to it: 4.5a.1: "UEs being moved from one CN node are stopped from registering to the same CN node again by an O command in BSCs and RNCs connected to the pool." Change-Id: I6249201c15d0f6565aca643c21d2375c9ca58584 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c M tests/nri_cfg.vty 5 files changed, 48 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/18778/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 3df2774..fc6c2d6 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -181,6 +181,7 @@ } mgcp_ipa; struct osmo_nri_ranges *nri_ranges; + bool allow_attach; }; int osmo_bsc_msc_init(struct bsc_msc_data *msc); diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 0707c65..0064b41 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -231,7 +231,11 @@ /* Figure out the next round-robin MSC. The MSCs may appear unsorted in net->mscs. Make sure to linearly * round robin the MSCs by number: pick the lowest msc->nr >= round_robin_next_nr, and also remember the -* lowest available msc->nr to wrap back to that in case no next MSC is left. */ +* lowest available msc->nr to wrap back to that in case no next MSC is left. +* MSCs configured with `no allow-attach` do not accept new subscribers and hence must not be picked by +* round-robin. */ + if (!msc->allow_attach) + continue; if (!msc_round_robin_first || msc->nr < msc_round_robin_first->nr) msc_round_robin_first = msc; if (msc->nr >= round_robin_next_nr diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index ce07518..157808e 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -230,6 +230,7 @@ msc_data->mgcp_ipa.local_port = 0; /* dynamic */ msc_data->nri_ranges = osmo_nri_ranges_alloc(msc_data); + msc_data->allow_attach = true; return msc_data; } diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 7db7c94..dbdd807 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -177,6 +177,9 @@ } msc_write_nri(vty, msc, false); + + if (!msc->allow_attach) + vty_out(vty, " no allow-attach%s", VTY_NEWLINE); } static int config_write_msc(struct vty *vty) @@ -861,6 +864,28 @@ return CMD_SUCCESS; } +DEFUN(cfg_msc_allow_attach, cfg_msc_allow_attach_cmd, + "allow-attach", + "Allow this MSC to attach new subscribers (default).\n") +{ + struct bsc_msc_data *msc = bsc_msc_data(vty); + msc->allow_attach = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_msc_no_allow_attach, cfg_msc_no_allow_attach_cmd, + "no allow-attach", + NO_STR + "Do not assign new subscribers to this MSC." + " Useful if an MSC in an MSC pool is configured to off-load subscribers." + " The MSC will still be operational for already attached subscribers," + " but the NAS node selection function will skip this MSC for new subscribers\n") +{ + struct bsc_msc_data *msc = bsc_msc_data(vty); + msc->allow_attach = false; + return CMD_SUCCESS; +} + static void msc_write_nri(struct vty *vty, struct bsc_msc_data *msc, bool verbose) { struct osmo_nri_range *r; @@ -964,6 +989,8 @@ install_element(MSC_NODE, _msc_nri_add_cmd); install_element(MSC_NODE, _msc_nri_del_cmd); install_element(MSC_NODE, _msc_show_nri_cmd); + install_element(MSC_NODE, _msc_allow_attach_cmd); + install_element(MSC_NODE, _msc_no_allow_attach_cmd); /* Deprecated: ping time config, kept to support legacy config files. */ install_element(MSC_NODE, _net_msc_no_ping_time_cmd); diff --git a/tests/nri_cfg.vty b/tests/nri_cfg.vty index 2b38ec4..3ab7bf2 100644 --- a/tests/nri_cfg.vty +++ b/tests/nri_cfg.vty @@ -159,3 +159,17 @@ OsmoBSC(config-msc)# show nri msc 0 nri add 0 1000 + +OsmoBSC(config-msc)# show running-config +... ! no allow-attach +OsmoBSC(config-msc)# no allow-attach +OsmoBSC(config-msc)# show running-config +... +msc 0 +... + nri add 0 1000 + no allow-attach +... ! no allow-attach +OsmoBSC(config-msc)# allow-attach +OsmoBSC(config-msc)# show running-config +... ! no allow-attach -- To
Build failure of network:osmocom:nightly/open5gs in Debian_10/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Debian_10/i586 Package network:osmocom:nightly/open5gs failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 138s] [1936/2112] cc -Isrc/pgw/34dbbb0@@pgw@sta -Isrc/pgw -I../src/pgw -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/diameter/gx -I../lib/diameter/gx -Ilib/diameter/common -I../lib/diameter/common -Isubprojects/freeDiameter/include -I../subprojects/freeDiameter/include -Isubprojects/freeDiameter -I../subprojects/freeDiameter -Ilib/gtp -I../lib/gtp -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/pgw/34dbbb0@@pgw@sta/pgw-fd-path.c.o' -MF 'src/pgw/34dbbb0@@pgw@sta/pgw-fd-path.c.o.d' -o 'src/pgw/34dbbb0@@pgw@sta/pgw-fd-path.c.o' -c ../src/pgw/pgw-fd-path.c [ 138s] [1937/2112] cc -Isrc/udm/3eca12a@@udm@sta -Isrc/udm -I../src/udm -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/p11-kit-1 -I/usr/include/i386-linux-gnu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-s[ 130.740628] serial8250: too much work for irq4 [ 138s] trings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udm/3eca12a@@udm@sta/sbi-path.c.o' -MF 'src/udm/3eca12a@@udm@sta/sbi-path.c.o.d' -o 'src/udm/3eca12a@@udm@sta/sbi-path.c.o' -c ../src/udm/sbi-path.c [ 138s] [1938/2112] cc -o src/nrf/open5gs-nrfd 'src/nrf/f570ec2@@open5gs-nrfd@exe/app.c.o' 'src/nrf/f570ec2@@open5gs-nrfd@exe/.._main.c.o' -Wl,--no-undefined -Wl,--as-needed -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -Wl,--start-group src/nrf/libnrf.a lib/ipfw/libogsipfw.so.1.2.5 lib/app/libogsapp.so.1.2.5 lib/core/libogscore.so.1.2.5 lib/dbi/libogsdbi.so.1.2.5 lib/crypt/libogscrypt.so.1.2.5 lib/sbi/libogssbi.so.1.2.5 lib/sbi/openapi/libogssbi-openapi.so.1.2.5 /usr/lib/i386-linux-gnu/libyaml.so /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/libmongoc-1.0.so /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/libbson-1.0.so -lgnutls /usr/lib/i386-linux-gnu/libmicrohttpd.so /usr/lib/i386-linux-gnu/libcurl.so -lgnutls -Wl,--end-group -pthread '-Wl,-rpath,$ORIGIN/:$ORIGIN/../../lib/ipfw:$ORIGIN/../../lib/app:$ORIGIN/../../lib/core:$ORIGIN/../../lib/dbi:$ORIGIN/../../lib/crypt:$ORIGIN/../../lib/sbi:$ORIGIN/../../lib/sbi/openapi' -Wl,-rpath-link,/usr/src/packages/BUILD/obj-i686-linux-gnu/src/nrf:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/ipfw:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/app:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/core:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/dbi:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/crypt:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/sbi:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/sbi/openapi [ 138s] [1939/2112] cc -Isrc/ausf/07dd590@@ausf@sta -Isrc/ausf -I../src/ausf -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/crypt
Change in osmo-bsc[master]: mscpool: add user manual chapter
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18779 ) Change subject: mscpool: add user manual chapter .. mscpool: add user manual chapter Change-Id: Ia60afc8a91189c9de0d8e8065781ed463bf18d7e --- A doc/manuals/chapters/mscpool.adoc M doc/manuals/osmobsc-usermanual.adoc 2 files changed, 214 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/79/18779/1 diff --git a/doc/manuals/chapters/mscpool.adoc b/doc/manuals/chapters/mscpool.adoc new file mode 100644 index 000..65c1f98 --- /dev/null +++ b/doc/manuals/chapters/mscpool.adoc @@ -0,0 +1,212 @@ +== MSC Pooling + +MSC pooling is described in 3GPP TS 23.236, and is supported by OsmoBSC since +mid 2020. + +The aim of MSC pooling is to distribute load from a BSC across multiple MSCs, +which are equivalent and redundant infrastructure for the same core network. + +The main mechanism for MSC pooling is the TMSI identity, which an MSC hands out +to its attached subscribers. Typically 10 bits of the TMSI are designated as a +Network Resource Identifier (NRI) that identifies the originating MSC, and +allows OsmoBSC to direct a subscriber back to the same MSC instance that +previously negotiated the IMSI Attach procedure. Typically, the full NRI value +range available is divided into N even ranges, where each MSC is assigned one +NRI range. + +Subscribers attaching without a TMSI identity, or those with unknown NRI value, +are evenly distributed across MSC instances. OsmoBSC uses a round-robin +approach to distribute load across all connected MSCs. + +A Paging Response from a subscriber is always returned back to whichever MSC +initiated the Paging, regardless of the Mobile Identity used. + +Finally, a NULL-NRI is a special NRI value that indicates that the MSC wishes +to offload this subscriber to a different MSC. A NULL-NRI is an arbitrary NRI +value that is chosen distinctly for each PLMN served by a BSC, so that a +subscriber can be reassigned within that PLMN. Upon (periodic) Location +Updating, an offloading MSC hands out a NULL-NRI value in the assigned TMSI, +along with a non-broadcast LAI. The subscriber will notice the LAI mismatch, +and immediately re-attempt the attach using the TMSI containing the NULL-NRI. +The BSC recognises the NULL-NRI and redirects the subscriber to one of the +other MSCs. A prerequisite for this to work well is that the particular MSC is +previously marked as not accepting new subscribers, in the BSC's configuration. + +The mechanisms described above make up the NAS node selection function +implemented in the BSC. + +3GPP TS 23.236 also defines that an offloading MSC hands subscriber information +to the newly assigned MSC, which takes place outside the scope of the BSC. + +=== Configuring MSC Pooling + +The NRI ranges assigned to each MSC must match in the BSC and the MSC +configuration. If MSC and BSC had inconsistent NRI value ranges configured, +attached subscribers would be redirected MSC instances that did not perform the +attach, possibly rendering the core network unusable. + + Connecting Multiple MSCs + +The `cs7 instance` configuration defines the SCCP addresses to reach the MSCs +at. In addition, each MSC is configured by its own `msc` section in the +configuration. An example osmo-bsc.cfg serving three MSCs: + + +cs7 instance 0 + # SCCP address book entries for the three MSCs + sccp-address my-msc-0 + point-code 0.23.0 + sccp-address my-msc-1 + point-code 0.23.1 + sccp-address my-msc-2 + point-code 0.23.2 + +# assign each MSC configuration its remote SCCP address +msc 0 + msc-addr my-msc-0 +msc 1 + msc-addr my-msc-1 +msc 2 + msc-addr my-msc-2 + +# configure NRI value ranges +network + nri bitlen 10 + nri null add 0 +msc 0 + nri add 1 341 +msc 1 + nri add 342 682 +msc 2 + nri add 683 1023 + + + NRI Value Bit Length + +In OsmoBSC, the NRI value's bit length is freely configurable from 1 to 15 +bits. 3GPP TS 23.236 suggests a typical bit length of 10, which is OsmoBSC's +default. The NRI bit length must be identical across the entire MSC pool. + +Change the NRI value bit length in OsmoBSC's VTY configuration like this: + + +network + nri bitlen 10 + + +In the TMSI bits, regardless of the NRI bit length, the NRI value always starts +just after the most significant octet of a TMSI (most significant bit at TMSI's +bit 23). + + NULL-NRI + +Since OsmoBSC supports serving only one PLMN, NULL-NRI are configured globally. +Even though 3GPP TS 23.236 indicates that there is a single NULL-NRI per PLMN, +OsmoBSC allows configuring multiple NULL-NRI values. + + +network + nri null add 0 + nri null add 423 + + + Assigning NRI Ranges to MSCs + +Each MSC configured in OsmoBSC must be assigned a distinct NRI value range. +Overlapping NRI value ranges will cause failure to serve subscribers. + +NRI values are typically configured in
Build failure of network:osmocom:nightly/open5gs in xUbuntu_18.04/i586
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/xUbuntu_18.04/i586 Package network:osmocom:nightly/open5gs failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 147s] [1940/2112] cc -Isrc/udm/udm@sta -Isrc/udm -I../src/udm -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/p11-kit-1 -I/usr/include/i386-linux-gnu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udm/udm@sta/nnrf-handler.c.o' -MF 'src/udm/udm@sta/nnrf-handler.c.o.d' -o 'src/udm/udm@sta/nnrf-handler.c.o' -c ../src/udm/nnrf-handler.c [ 147s] [1941/2112] cc -o src/pcrf/open5gs-pcrfd 'src/pcrf/open5gs-pcrfd@exe/app-init.c.o' 'src/pcrf/open5gs-pcrfd@exe/.._main.c.o' -Wl,--no-undefined -Wl,--as-needed -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--start-group src/pcrf/libpcrf.a lib/app/libogsapp.so.1.2.5 lib/core/libogscore.so.1.2.5 lib/dbi/libogsdbi.so.1.2.5 lib/crypt/libogscrypt.so.1.2.5 lib/diameter/rx/libogsdiameter-rx.so.1.2.5 lib/diameter/common/libogsdiameter-common.so.1.2.5 subprojects/freeDiameter/libfdcore/libfdcore.so.1.3.2 subprojects/freeDiameter/libfdproto/libfdproto.so.1.3.2 lib/diameter/gx/libogsdiameter-gx.so.1.2.5 -pthread -lyaml -lmongoc-1.0 -lssl -lcrypto -lrt -lresolv -lz -lsnappy -lbson-1.0 -lidn -ldl -lsctp -lgcrypt -lgnutls -Wl,--end-group -lidn -ldl -lsctp -lgcrypt -lgnutls -lyaml -lmongoc-1.0 -lssl -lcrypto -lrt -lresolv -lz -lsnappy -lbson-1.0 -lidn -ldl -lsctp -lgcrypt -lgnutls -lidn -ldl -lsctp -lgcrypt -lgnutls '-Wl,-rpath,$ORIGIN/../../lib/app:$ORIGIN/../../lib/core:$ORIGIN/../../lib/dbi:$ORIGIN/../../lib/crypt:$ORIGIN/../../lib/diameter/rx:$ORIGIN/../../lib/diameter/common:$ORIGIN/../../subprojects/freeDiameter/libfdcore:$ORIGIN/../../subprojects/freeDiameter/libfdproto:$ORIGIN/../../lib/diameter/gx' -Wl,-rpath-link,/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/app:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/core:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/dbi:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/crypt:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/diameter/rx:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/diameter/common:/usr/src/packages/BUILD/obj-i686-linux-gnu/subprojects/freeDiameter/libfdcore:/usr/src/packages/BUILD/obj-i686-linux-gnu/subprojects/freeDiameter/libfdproto:/usr/src/packages/BUILD/obj-i686-linux-gnu/lib/diameter/gx [ 147s] [1942/2112] cc -o src/udr/open5gs-udrd 'src/udr/open5gs-udrd@exe/app.c.o' 'src/udr/open5gs-udrd@exe/.._main.c.o' -Wl,--no-undefined -Wl,--as-needed -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--start-group src/udr/libudr.a lib/ipfw/libogsipfw.so.1.2.5 lib/app/libogsapp.so.1.2.5 lib/core/libogscore.so.1.2.5 lib/dbi/libogsdbi.so.1.2.5 lib/crypt/libogscrypt.so.1.2.5 lib/sbi/libogssbi.so.1.2.5 lib/sbi/openapi/libogssbi-openapi.so.1.2.5 -pthread -lyaml -lmongoc-1.0 -lssl -lcrypto -lrt -lresolv -lz -lsnappy -lbson-1.0 -lyaml -lgnutls -lmicrohttpd -lcurl -Wl,--end-group -lyaml -lmongoc-1.0 -lssl -lcrypto -lrt -lresolv -lz -lsnappy -lbson-1.0 -lyaml -lgnutls -lmicrohttpd -lcurl '-Wl,-rpath,$ORIGIN/../../lib/ipfw:$ORIGIN/../../lib/app:$ORIGIN/../../lib/core:$ORIGIN/../../lib/dbi:$ORIGIN/../../lib/crypt:$ORIGIN/../../lib/sbi:$ORIGIN/../../lib/sbi/openapi'
Change in osmo-bsc[master]: MSC pooling: make NRI mappings VTY configurable
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18765 to look at the new patch set (#2). Change subject: MSC pooling: make NRI mappings VTY configurable .. MSC pooling: make NRI mappings VTY configurable Use the osmo_nri_ranges API to manage each MSC's NRI ranges by VTY configuration. Change-Id: I6c251f2744d7be26fc4ad74adefc96a6a3fe08b0 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/net_init.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c A tests/nri_cfg.vty 7 files changed, 386 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/18765/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6c251f2744d7be26fc4ad74adefc96a6a3fe08b0 Gerrit-Change-Number: 18765 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583 ) Change subject: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind .. Patch Set 4: So If I understand correctly, let's say you have: * machineA=10.42.42.10 * machineB=10.42.42.20 with srsUE running on machineA and srsENB and srsEPC on machineB. What would be wrong with using this setup? """ run_node: #epc - run_type: ssh run_addr: 10.42.42.20 ssh_user: jenkins ssh_addr: 10.42.42.20 enb: - label: srsENB-zmq type: srsenb rf_dev_type: zmq rf_dev_args: auto gtp_bind_addr: 127.0.1.1 run_node: run_type: ssh run_addr: 10.42.42.20 ssh_user: jenkins ssh_addr: 10.42.42.20 - label: srsUE-zmq_1 type: srsue rf_dev_type: zmq rf_dev_args: auto imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] run_node: run_type: ssh run_addr: 10.42.42.10 ssh_user: jenkins ssh_addr: 10.42.42.10 """ UE<->ENB over zmq: 10.42.42.10 <-> 10.42.42.20 (not same port, anyway we use different IP) ENB<->EPC over S1: 10.42.42.20 <-> 10.42.42.20 (not same port, fine with reusing IP) ENB<->EPC over GTP: 127.0.1.1 <-> 10.42.42.20 (different IP, gtp port must be same in both) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibf5b0017c781d17c7f20b859c1cda297e2a9cca2 Gerrit-Change-Number: 18583 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 10 Jun 2020 20:13:27 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-mgw[master]: endp: add typeset for e1-endpoints
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18755 ) Change subject: endp: add typeset for e1-endpoints .. Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18755/1/include/osmocom/mgcp/mgcp_internal.h File include/osmocom/mgcp/mgcp_internal.h: https://gerrit.osmocom.org/c/osmo-mgw/+/18755/1/include/osmocom/mgcp/mgcp_internal.h@277 PS1, Line 277: void mgcp_cleanup_e1_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); personally I'd put the e1 functions in a separate block, not interleaved in the rtp ones. https://gerrit.osmocom.org/c/osmo-mgw/+/18755/1/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18755/1/src/libosmo-mgcp/mgcp_endp.c@37 PS1, Line 37: .e1.cleanup_cb = mgcp_cleanup_e1_bridge_cb, (personally I'd write .e1 = { .max_conns = 1, .dispatch... } ) https://gerrit.osmocom.org/c/osmo-mgw/+/18755/1/src/libosmo-mgcp/mgcp_network.c File src/libosmo-mgcp/mgcp_network.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18755/1/src/libosmo-mgcp/mgcp_network.c@1332 PS1, Line 1332: * \param[in] proto protocol (MGCP_CONN_TYPE_RTP or MGCP_CONN_TYPE_RTCP) please explain how E1 and RTP / RTCP go together. They don't right? https://gerrit.osmocom.org/c/osmo-mgw/+/18755/1/src/libosmo-mgcp/mgcp_network.c@1368 PS1, Line 1368: * \returns 0 on success, -1 on ERROR. */ there is no return -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I68b719a906e8f7251f0ca8c74ceec73bc40376f7 Gerrit-Change-Number: 18755 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 20:09:36 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-mgw[master]: trunk: parse E1 trunk number
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18752 ) Change subject: trunk: parse E1 trunk number .. Patch Set 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18752/2/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18752/2/src/libosmo-mgcp/mgcp_trunk.c@138 PS2, Line 138: prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_E1_TRUNK) - 1; wait, what, sizeof() works on compile time char constants? wow. I'd be more comfortable with strlen(). https://gerrit.osmocom.org/c/osmo-mgw/+/18752/2/src/libosmo-mgcp/mgcp_trunk.c@140 PS2, Line 140: return mgcp_trunk_by_num(cfg, atoi(epname+prefix_len)); this needs validity checks. What if atoi() returns negative? If atoi() cannot convert, it returns 0, the virtual trunk? Much rather use strtol() with all its error checking in place. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifdaab953544151e73b58cc3e95d21afdb40765f4 Gerrit-Change-Number: 18752 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 20:05:28 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-mgw[master]: endp: add name generator function for E1 endpoints
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18745 ) Change subject: endp: add name generator function for E1 endpoints .. Patch Set 4: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18745/4/include/osmocom/mgcp_client/mgcp_common.h File include/osmocom/mgcp_client/mgcp_common.h: https://gerrit.osmocom.org/c/osmo-mgw/+/18745/4/include/osmocom/mgcp_client/mgcp_common.h@5 PS4, Line 5:This is an automatic copy of I get the feeling you added this file by accident https://gerrit.osmocom.org/c/osmo-mgw/+/18745/4/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18745/4/src/libosmo-mgcp/mgcp_endp.c@51 PS4, Line 51: { 0, 4, 0, 2, 4, 6, 0, 1, 2, 3, 4, 5, 6, 7 }; (interesting magic, maybe a comment pointing at where this comes from would be nice) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I70e0c3f96aa3947165f992815ee5614c8f57 Gerrit-Change-Number: 18745 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 20:00:32 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-mgw[master]: trunk: get rid of virt_trunk pointer
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18590 ) Change subject: trunk: get rid of virt_trunk pointer .. Patch Set 10: Code-Review-1 (9 comments) (marking -1 so you have a chance to read the comments before merging) https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@557 PS10, Line 557: struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk)? https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@572 PS10, Line 572: struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk)? https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@582 PS10, Line 582: struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk)? https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@620 PS10, Line 620: struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk)? https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@631 PS10, Line 631: struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk)? https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@642 PS10, Line 642: struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk)? https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@653 PS10, Line 653: struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); ... https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@880 PS10, Line 880: continue; so, where/how is the virtual trunk written to config? https://gerrit.osmocom.org/c/osmo-mgw/+/18590/10/src/libosmo-mgcp/mgcp_vty.c@891 PS10, Line 891: vty_out(vty, " rtp keep-alive %d%s", ...especially since these commands apparently only work for the virtual trunk, as mentioned above? Am I missing something? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I81934fbd211b225ab7920e78510729c8e22607b3 Gerrit-Change-Number: 18590 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 19:52:23 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18644 ) Change subject: osmo-mgw: refactor endpoint and trunk handling .. Patch Set 6: Code-Review+1 (13 comments) Take a look if any of my remarks make sense, but none of this blocks. I agree with laforge that keeping stats per-trunk is more desirable and also seems to be very easy here, just put a struct mgcp_ratectr in the trunk instead of the cfg? What's the rationale for having only global stats? https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/include/osmocom/mgcp/mgcp.h File include/osmocom/mgcp/mgcp.h: https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/include/osmocom/mgcp/mgcp.h@251 PS6, Line 251: * health */ (it seems to be your personal style to prefer vertical comments, so I won't complain. But let me say here once, me personally, I'd prefer using the 120 char width we have agreed on -- especially if it's a new line for only one word.) https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@49 PS6, Line 49: endp->cfg = trunk->cfg; > Not sure if whitespace at start of this line is correct. (I don't see anything wrong) https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@93 PS6, Line 93: * the same for all endpoints, so no ambiguity is introduced) */ would be nice to define "chop it off": write the epname without the prefix back to the memory pointed at by epname. https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@113 PS6, Line 113: return; maybe default: OSMO_ASSERT(false); https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@118 PS6, Line 118: * it off */ also would be nice to define "chop it off" here: truncate epname by writing a '\0' char where the suffix starts. https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@136 PS6, Line 136: * and not needed to identify the endpoint on the trunk */ I don't understand "all information that is already evaluated". Maybe "return the epname stripped of prefix and suffix and converted to lower case"? Also would be nice to indicate the expected buf size of epname_stripped. https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@140 PS6, Line 140: osmo_str_tolower_buf(epname_stripped, strlen(epname), epname); the second argument is the memory length of epname_stripped to safeguard against writing past its end, regardless of the input strlen. Passing strlen(epname) is breaking the purpose of that len. Since there is no explicit epname_stripped_buflen arg, IIUC this should be MGCP_ENDPOINT_MAXLEN? https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@181 PS6, Line 181: endp->wildcarded_req = false; this function is called "find_...", could be a bad idea to also modify the endp here? Though I must admit that I'm not sure what wildcarded_req does. (then you could also add const to the 'trunk' arg) https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@195 PS6, Line 195:struct mgcp_trunk *trunk) const struct mgcp_trunk ? https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@210 PS6, Line 210: trunk->trunk_nr, endp->name); I think set endp->wildcarded = true here? https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@225 PS6, Line 225: if (endp) { and wildcarded = false here? https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_msg.c File src/libosmo-mgcp/mgcp_msg.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_msg.c@234 PS6, Line 234: line, endp->name); very good to see the "0x1" endp naming go away! https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_trunk.c@143 PS6, Line 143: struct mgcp_trunk *mgcp_trunk_by_name(const char *epname, struct mgcp_config *cfg) if this is a new function: the mgcp_trunk_by_num() has cfg as the first argument, better also do that here. (If this is just moving an old function, then rather keep it inconsistent I guess.) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia8cf4d6caf05a4e13f1f507dc68cbabb7e6239aa Gerrit-Change-Number: 18644 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 19:41:40 +
Change in libosmocore[master]: add osmo_mobile_identity API
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18507 ) Change subject: add osmo_mobile_identity API .. Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18507/7/src/utils.c File src/utils.c: https://gerrit.osmocom.org/c/libosmocore/+/18507/7/src/utils.c@194 PS7, Line 194: osmo_str2bcd JFYI, we already have gsm48_decode_bcd_number2() doing something similar. Maybe in a separate change it could start using this function. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic3f969e739654c1e8c387aedeeba5cce07fe2307 Gerrit-Change-Number: 18507 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 19:32:20 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in libosmocore[master]: add osmo_mobile_identity API
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18507 ) Change subject: add osmo_mobile_identity API .. Patch Set 7: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/18507/7/src/gb/gprs_bssgp.c File src/gb/gprs_bssgp.c: https://gerrit.osmocom.org/c/libosmocore/+/18507/7/src/gb/gprs_bssgp.c@1178 PS7, Line 1178: return -EINVAL; Would be nice to print a NOTICE here. https://gerrit.osmocom.org/c/libosmocore/+/18507/7/src/utils.c File src/utils.c: https://gerrit.osmocom.org/c/libosmocore/+/18507/7/src/utils.c@157 PS7, Line 157: start_nibble < 0 Please submit as a separate change. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic3f969e739654c1e8c387aedeeba5cce07fe2307 Gerrit-Change-Number: 18507 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 19:27:24 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind
srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583 ) Change subject: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind .. Patch Set 3: > Patch Set 3: Code-Review-2 > > > Patch Set 3: > > > > Otherwise if you think there's a bug I can have a look at it. > > I just tested it and it's working fine here: > > """ > enb: > - label: srsENB-zmq > type: srsenb > rf_dev_type: zmq > rf_dev_args: auto > run_node: > run_type: ssh > run_addr: 10.42.42.117 > ssh_user: jenkins > ssh_addr: 10.42.42.116 > """ > > > $ ss -l -n -p | grep enb -B1 > u_dgr UNCONN 0 0 * 1289 * 0 > udpUNCONN 0 0 10.42.42.117:2152 *:* >users:(("srsenb",pid=60591,fd=15)) > -- > tcpLISTEN 0 5 172.16.0.1:5003 *:* > users:(("iperf3",pid=60753,fd=3)) > tcpLISTEN 0 10010.42.42.117:2000 *:* >users:(("srsenb",pid=60591,fd=10)) > > > So this patch is indeed not needed and can be abandoned. To give some context, I've recently changed the resources.conf to run eNB and EPC on the same machine. And to run srsUE on it's own machine. But for the eNB to connect to the EPC I need gtp_bind_addr and s1c_bind_addr to be the same. See here: [enb] # need hex value here for enb_id due to bug: https://github.com/srsLTE/srsLTE/issues/485 enb_id = 0x19b mcc = 901 mnc = 70 mme_addr = 127.0.1.100 gtp_bind_addr = 127.0.1.1 s1c_bind_addr = 127.0.1.1 n_prb = 100 tm = 1 nof_ports = 1 You are right that if I put just "addr" as s1c_bind_addr and set the run_addr to 127.0.1.1, I can get the above mentioned config and the eNB attached to the EPC. But the same run_addr is also used for the ZMQ radio and this is then not working. Perhaps UHD works. This is the stdout of srsUE: Reading configuration file /osmo-gsm-tester-srsue/srsue/srsue.conf... Built in Release mode using commit 34bc192f7 on branch build_branch. Opening 1 channels in RF device=zmq with args=tx_port0=tcp://10.12.1.206:2001,tx_port1=tcp://10.12.1.206:2003,tx_port2=tcp://10.12.1.206:2005,tx_port3=tcp://10.12.1.206:2007,rx_port0=tcp://127.0.1.1:2000,rx_port1=tcp://127.0.1.1:2002,rx_port2=tcp://127.0.1.1:2004,rx_port3=tcp://127.0.1.1:2006,rx_freq0=2630e6,tx_freq0=2510e6,id=ue,base_srate=2304 CHx base_srate=2304 CHx id=ue Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) CH0 rx_port=tcp://127.0.1.1:2000 CH0 rx_freq=2630e6 CH0 tx_port=tcp://10.12.1.206:2001 CH0 tx_freq=2510e6 You see that ZMQ radio tries to receive from this localhost address, but it should receive from the external IP. So in summary, this patch is needed and cant be deleted. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibf5b0017c781d17c7f20b859c1cda297e2a9cca2 Gerrit-Change-Number: 18583 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 10 Jun 2020 19:25:43 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18644 ) Change subject: osmo-mgw: refactor endpoint and trunk handling .. Patch Set 6: hey wait, where did all my comments go? Seems you changed the Change-Id of this patch. Initially this was: https://gerrit.osmocom.org/c/osmo-mgw/+/18372 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia8cf4d6caf05a4e13f1f507dc68cbabb7e6239aa Gerrit-Change-Number: 18644 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 18:57:11 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Build failure of network:osmocom:nightly/open5gs in Debian_10/armv7l
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Debian_10/armv7l Package network:osmocom:nightly/open5gs failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 1217s] [1927/2112] cc -Isrc/udr/e340f29@@udr@sta -Isrc/udr -I../src/udr -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -I/usr/include/p11-kit-1 -I/usr/include/arm-linux-gnueabihf -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udr/e340f29@@udr@sta/nudr-handler.c.o' -MF 'src/udr/e340f29@@udr@sta/nudr-handler.c.o.d' -o 'src/udr/e340f29@@udr@sta/nudr-handler.c.o' -c ../src/udr/nudr-handler.c [ 1217s] [1928/2112] cc -Isrc/udr/e340f29@@udr@sta -Isrc/udr -I../src/udr -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -I/usr/include/p11-kit-1 -I/usr/include/arm-linux-gnueabihf -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udr/e340f29@@udr@sta/sbi-path.c.o' -MF 'src/udr/e340f29@@udr@sta/sbi-path.c.o.d' -o 'src/udr/e340f29@@udr@sta/sbi-path.c.o' -c ../src/udr/sbi-path.c [ 1218s] [1929/2112] cc -Isrc/udr/e340f29@@udr@sta -Isrc/udr -I../src/udr -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -I/usr/include/p11-kit-1 -I/usr/include/arm-linux-gnueabihf -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udr/e340f29@@udr@sta/udr-sm.c.o' -MF 'src/udr/e340f29@@udr@sta/udr-sm.c.o.d' -o 'src/udr/e340f29@@udr@sta/udr-sm.c.o' -c ../src/udr/udr-sm.c [ 1219s] [1930/2112] cc -Isrc/udr/e340f29@@udr@sta -Isrc/udr -I../src/udr -Ilib/app -I../lib/app -Ilib -I../lib
Change in osmo-pcu[master]: bts: fix send_gsmtap_rach(): properly pack 11 bit RA
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17709 ) Change subject: bts: fix send_gsmtap_rach(): properly pack 11 bit RA .. Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 18:51:26 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-pcu[master]: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17708 ) Change subject: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP .. Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c Gerrit-Change-Number: 17708 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 18:51:10 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in libosmocore[master]: add gsm23236: MSC pooling: TMSI and NRI utility functions
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18506 ) Change subject: add gsm23236: MSC pooling: TMSI and NRI utility functions .. Patch Set 10: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18506/10/include/osmocom/gsm/gsm23236.h File include/osmocom/gsm/gsm23236.h: https://gerrit.osmocom.org/c/libosmocore/+/18506/10/include/osmocom/gsm/gsm23236.h@35 PS10, Line 35: osmo_nri_ranges Maybe 'osmo_nri_range_list', so the name reflects that it's a _list_ of ranges. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icb57a2dd9323c7ea11b34003eccc7e68a0247bf5 Gerrit-Change-Number: 18506 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 18:50:47 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-pcu[master]: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP
Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 to look at the new patch set (#3). Change subject: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP .. bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c --- M src/bts.cpp M src/bts.h M src/pcu_vty.c 3 files changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/17708/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c Gerrit-Change-Number: 17708 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset
Change in osmo-pcu[master]: bts: fix send_gsmtap_rach(): properly pack 11 bit RA
Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 to look at the new patch set (#3). Change subject: bts: fix send_gsmtap_rach(): properly pack 11 bit RA .. bts: fix send_gsmtap_rach(): properly pack 11 bit RA According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. The bit order is LSB (right to left), byte order is MSB. In PCUIF RACH.ind structure (see gsm_pcu_if_rach_ind) we use a field of type uint16_t to store RA values regardles of the block format. Thus when packing it to bytes, we cannot just cast uint16_t* to uint8_t*, we need to do some bit shifting. Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb --- M src/bts.cpp 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/09/17709/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset
Change in osmo-pcu[master]: bts: fix send_gsmtap_rach(): properly pack 11 bit RA
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17709 ) Change subject: bts: fix send_gsmtap_rach(): properly pack 11 bit RA .. Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 18:15:21 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-pcu[master]: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17708 ) Change subject: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP .. Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17708/2/src/bts.h File src/bts.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17708/2/src/bts.h@340 PS2, Line 340: void send_gsmtap_rach(const struct rach_ind_params *rip, You could keep categ as first param, like in the other 2 functions. https://gerrit.osmocom.org/c/osmo-pcu/+/17708/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17708/2/src/bts.cpp@437 PS2, Line 437: send_gsmtap(categ, true, rip->trx_nr, rip->ts_nr, gsmtap_chan, I'd really prefer it calling send_gsmtap_meas directly in order to avoid yet another function call: send_gsmtap_rach -> send_gsmtap -> send_gsmtap_meas Otherwise it's already confusing. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c Gerrit-Change-Number: 17708 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 18:14:10 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-pcu[master]: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 to look at the new patch set (#2). Change subject: bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP .. bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c --- M src/bts.cpp M src/bts.h M src/pcu_vty.c 3 files changed, 19 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/17708/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c Gerrit-Change-Number: 17708 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset
Change in osmo-pcu[master]: bts: fix send_gsmtap_rach(): properly pack 11 bit RA
Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 to look at the new patch set (#2). Change subject: bts: fix send_gsmtap_rach(): properly pack 11 bit RA .. bts: fix send_gsmtap_rach(): properly pack 11 bit RA According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. The bit order is LSB (right to left), byte order is MSB. In PCUIF RACH.ind structure (see gsm_pcu_if_rach_ind) we use a field of type uint16_t to store RA values regardles of the block format. Thus when packing it to bytes, we cannot just cast uint16_t* to uint8_t*, we need to do some bit shifting. Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb --- M src/bts.cpp 1 file changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/09/17709/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset
Change in osmo-gsm-tester[master]: EventLoop: Fix log error "Origin parent loop" during wait()
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18777 ) Change subject: EventLoop: Fix log error "Origin parent loop" during wait() .. EventLoop: Fix log error "Origin parent loop" during wait() Setting the log.ctx manually is not needed anymore and it's actually harmful since all palces where it was used, a log.Origin already in path was being passed, causing a origin loop. Change-Id: I0511b9f7bc59e3c7f2269ff3155d0c95db58d063 --- M src/osmo_gsm_tester/core/event_loop.py M src/osmo_gsm_tester/core/process.py M src/osmo_gsm_tester/obj/bts_nanobts.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/esme.py M src/osmo_gsm_tester/obj/ms_ofono.py M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/powersupply.py M src/osmo_gsm_tester/obj/powersupply_sispm.py M src/osmo_gsm_tester/testenv.py 11 files changed, 29 insertions(+), 31 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/core/event_loop.py b/src/osmo_gsm_tester/core/event_loop.py index fe88ef4..4092a66 100644 --- a/src/osmo_gsm_tester/core/event_loop.py +++ b/src/osmo_gsm_tester/core/event_loop.py @@ -85,9 +85,8 @@ self.gctx.iteration(may_block) self.deferred_handling.handle_queue() -def wait_no_raise(self, log_obj, condition, condition_args, condition_kwargs, timeout, timestep): +def wait_no_raise(self, condition, condition_args, condition_kwargs, timeout, timestep): if not timeout or timeout < 0: -self = log_obj raise log.Error('wait() *must* time out at some point.', timeout=timeout) if timestep < 0.1: timestep = 0.1 @@ -105,14 +104,13 @@ success = wait_req.condition_ack return success -def wait(self, log_obj, condition, *condition_args, timeout=300, timestep=1, **condition_kwargs): -if not self.wait_no_raise(log_obj, condition, condition_args, condition_kwargs, timeout, timestep): -log.ctx(log_obj) +def wait(self, condition, *condition_args, timeout=300, timestep=1, **condition_kwargs): +if not self.wait_no_raise(condition, condition_args, condition_kwargs, timeout, timestep): raise log.Error('Wait timeout', condition=condition, timeout=timeout, timestep=timestep) -def sleep(self, log_obj, seconds): +def sleep(self, seconds): assert seconds > 0. -self.wait_no_raise(log_obj, lambda: False, [], {}, timeout=seconds, timestep=seconds) +self.wait_no_raise(lambda: False, [], {}, timeout=seconds, timestep=seconds) MainLoop = EventLoop() diff --git a/src/osmo_gsm_tester/core/process.py b/src/osmo_gsm_tester/core/process.py index 33ae69a..8954674 100644 --- a/src/osmo_gsm_tester/core/process.py +++ b/src/osmo_gsm_tester/core/process.py @@ -347,7 +347,7 @@ return self.result is not None def wait(self, timeout=300): -MainLoop.wait(self, self.terminated, timeout=timeout) +MainLoop.wait(self.terminated, timeout=timeout) def stdin_write(self, cmd): ''' diff --git a/src/osmo_gsm_tester/obj/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py index a818a8f..03730a6 100644 --- a/src/osmo_gsm_tester/obj/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -139,7 +139,7 @@ # Let some time for BTS to restart. It takes much more than 20 secs, and # this way we make sure we don't catch responses in abisip-find prior to # BTS restarting. -MainLoop.sleep(self, 20) +MainLoop.sleep(20) self.dbg('Starting to connect id %d trx %d to' % (unitid, trx_i), self.bsc) ipfind = AbisIpFind(self.testenv, self.run_dir, local_bind_ip, 'postconf') @@ -150,7 +150,7 @@ else: self.dbg('nanoBTS id %d trx %d no need to change OML IP (%s) and restart' % (unitid, trx_i, running_oml_ip)) -MainLoop.wait(self, self.bsc.bts_is_connected, self, timeout=600) +MainLoop.wait(self.bsc.bts_is_connected, self, timeout=600) self.log('nanoBTS connected to BSC') #According to roh, it can be configured to use a static IP in a permanent way: @@ -239,11 +239,11 @@ return self.get_line_by_ip(ipaddr) is not None def wait_bts_ready(self, ipaddr): -MainLoop.wait(self, self.bts_ready, ipaddr) +MainLoop.wait(self.bts_ready, ipaddr) # There's a period of time after boot in which nanobts answers to # abisip-find but tcp RSTs ipacces-config conns. Let's wait in here a # bit more time to avoid failing after stating the BTS is ready. -MainLoop.sleep(self, 2) +MainLoop.sleep(2) class IpAccessConfig(log.Origin): testenv = None diff --git
Change in osmo-gsm-tester[master]: EventLoop: Fix log error "Origin parent loop" during wait()
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18777 ) Change subject: EventLoop: Fix log error "Origin parent loop" during wait() .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0511b9f7bc59e3c7f2269ff3155d0c95db58d063 Gerrit-Change-Number: 18777 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 18:03:49 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: gsm_data_shared: use bitvec API to allocate the feature vector
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18773 ) Change subject: gsm_data_shared: use bitvec API to allocate the feature vector .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 Gerrit-Change-Number: 18773 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 17:59:47 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18591 ) Change subject: Do not mix public and private BTS features, use libosmocore's API .. Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e Gerrit-Change-Number: 18591 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 17:59:51 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18591 ) Change subject: Do not mix public and private BTS features, use libosmocore's API .. Do not mix public and private BTS features, use libosmocore's API It was a very bad idea to mix "public" BTS features, that are reported to the BSC via OML, and those features, that are used locally (and exclusively) in osmo-bts. Why? At least because we already have the BTS feature manipulation API in libosmocore, that is used by osmo-bsc, but for some reason not by osmo-bts. New features added to libosmocore would clash with the existing "internal" ones like BTS_FEAT_MS_PWR_CTRL_DSP. So what this change does can be described as follows: - remove duplicate definition of the "public" features, - use libosmocore's API for the "public" features, - separate both "internal" and "public" features: - the "public" features continue to live in bitvec, - the "internal" features become flags, - s/BTS_FEAT/BTS_INTERNAL_FLAG/g. Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/gsm_data_shared.c M src/common/l1sap.c M src/common/vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-oc2g/main.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/main.c M src/osmo-bts-trx/main.c M src/osmo-bts-virtual/main.c M tests/misc/misc_test.c 12 files changed, 110 insertions(+), 132 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index f3855f7..7cfbfeb 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -38,8 +39,6 @@ #define MAX_VERSION_LENGTH 64 -#define MAX_BTS_FEATURES 128 - struct gsm_lchan; struct osmo_rtp_socket; struct pcu_sock_state; @@ -402,35 +401,21 @@ TRX_PHY_VERSION, }; -/* N. B: always add new features to the end of the list (right before _NUM_BTS_FEAT) to avoid breaking compatibility - with BTS compiled against earlier version of this header. Also make sure that the description strings - gsm_bts_features_descs[] in gsm_data_shared.c are also updated accordingly! */ -enum gsm_bts_features { - BTS_FEAT_HSCSD, - BTS_FEAT_GPRS, - BTS_FEAT_EGPRS, - BTS_FEAT_ECSD, - BTS_FEAT_HOPPING, - BTS_FEAT_MULTI_TSC, - BTS_FEAT_OML_ALERTS, - BTS_FEAT_AGCH_PCH_PROP, - BTS_FEAT_CBCH, - BTS_FEAT_SPEECH_F_V1, - BTS_FEAT_SPEECH_H_V1, - BTS_FEAT_SPEECH_F_EFR, - BTS_FEAT_SPEECH_F_AMR, - BTS_FEAT_SPEECH_H_AMR, - BTS_FEAT_ETWS_PN, - BTS_FEAT_MS_PWR_CTRL_DSP, - /* When the feature is set then the measurement data is included in -* (PRIM_PH_DATA) and struct ph_tch_param (PRIM_TCH). Otherwise the -* measurement data is passed using a separate MPH INFO MEAS IND. -* (See also ticket: OS#2977) */ - BTS_FEAT_MEAS_PAYLOAD_COMB, - _NUM_BTS_FEAT -}; +/* BTS implementation flags (internal use, not exposed via OML) */ +#define bts_internal_flag_get(bts, flag) \ + ((bts->flags & (typeof(bts->flags)) flag) != 0) +#define bts_internal_flag_set(bts, flag) \ + bts->flags |= (typeof(bts->flags)) flag -extern const struct value_string gsm_bts_features_descs[]; +/* TODO: add a brief description of this flag */ +#define BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP (1 << 0) +/* When this flag is set then the measurement data is included in + * (PRIM_PH_DATA) and struct ph_tch_param (PRIM_TCH). Otherwise the + * measurement data is passed using a separate MPH INFO MEAS IND. + * (See also ticket: OS#2977) */ +#define BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB(1 << 1) + +extern const struct value_string bts_impl_flag_desc[]; struct gsm_bts_gprs_nsvc { struct gsm_bts *bts; @@ -522,8 +507,10 @@ char version[MAX_VERSION_LENGTH]; char sub_model[MAX_VERSION_LENGTH]; - /* features of a given BTS set/reported via OML */ + /* public features of a given BTS (set/reported via OML) */ struct bitvec *features; + /* implementation flags of a given BTS (not exposed via OML) */ + uint16_t flags; /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; @@ -740,18 +727,6 @@ return lchan->name; } -static inline int gsm_bts_set_feature(struct gsm_bts *bts, enum gsm_bts_features feat) -{ - OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_set_bit_pos(bts->features, feat, 1); -} - -static inline bool gsm_bts_has_feature(const struct gsm_bts *bts, enum gsm_bts_features feat) -{ - OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_get_bit_pos(bts->features,
Change in osmo-bts[master]: gsm_data_shared: use bitvec API to allocate the feature vector
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18773 ) Change subject: gsm_data_shared: use bitvec API to allocate the feature vector .. gsm_data_shared: use bitvec API to allocate the feature vector Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 --- M include/osmo-bts/gsm_data_shared.h M src/common/gsm_data_shared.c M src/common/oml.c 3 files changed, 6 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index dc7d39f..f3855f7 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -523,8 +523,7 @@ char sub_model[MAX_VERSION_LENGTH]; /* features of a given BTS set/reported via OML */ - struct bitvec features; - uint8_t _features_data[MAX_BTS_FEATURES/8]; + struct bitvec *features; /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; @@ -744,13 +743,13 @@ static inline int gsm_bts_set_feature(struct gsm_bts *bts, enum gsm_bts_features feat) { OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_set_bit_pos(>features, feat, 1); + return bitvec_set_bit_pos(bts->features, feat, 1); } static inline bool gsm_bts_has_feature(const struct gsm_bts *bts, enum gsm_bts_features feat) { OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_get_bit_pos(>features, feat); + return bitvec_get_bit_pos(bts->features, feat); } void gsm_abis_mo_reset(struct gsm_abis_mo *mo); diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index c05f59d..e23b04b 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -322,8 +322,8 @@ } bts->c0->ts[0].pchan = GSM_PCHAN_CCCH_SDCCH4; - bts->features.data = >_features_data[0]; - bts->features.data_len = sizeof(bts->_features_data); + bts->features = bitvec_alloc(MAX_BTS_FEATURES / 8, bts); + OSMO_ASSERT(bts->features != NULL); return bts; } diff --git a/src/common/oml.c b/src/common/oml.c index 587a808..5610ab1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -174,7 +174,7 @@ static inline void add_bts_feat(struct msgb *msg, const struct gsm_bts *bts) { unsigned int len = OSMO_BYTES_FOR_BITS(_NUM_BTS_FEAT); - msgb_tl16v_put(msg, NM_ATT_MANUF_ID, len, bts->_features_data); + msgb_tl16v_put(msg, NM_ATT_MANUF_ID, len, bts->features->data); } static inline void add_trx_attr(struct msgb *msg, const struct gsm_bts_trx *trx) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 Gerrit-Change-Number: 18773 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-MessageType: merged
Change in osmo-gsm-tester[master]: EventLoop: Fix log error "Origin parent loop" during wait()
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18777 ) Change subject: EventLoop: Fix log error "Origin parent loop" during wait() .. EventLoop: Fix log error "Origin parent loop" during wait() Setting the log.ctx manually is not needed anymore and it's actually harmful since all palces where it was used, a log.Origin already in path was being passed, causing a origin loop. Change-Id: I0511b9f7bc59e3c7f2269ff3155d0c95db58d063 --- M src/osmo_gsm_tester/core/event_loop.py M src/osmo_gsm_tester/core/process.py M src/osmo_gsm_tester/obj/bts_nanobts.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/esme.py M src/osmo_gsm_tester/obj/ms_ofono.py M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/powersupply.py M src/osmo_gsm_tester/obj/powersupply_sispm.py M src/osmo_gsm_tester/testenv.py 11 files changed, 29 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/77/18777/1 diff --git a/src/osmo_gsm_tester/core/event_loop.py b/src/osmo_gsm_tester/core/event_loop.py index fe88ef4..4092a66 100644 --- a/src/osmo_gsm_tester/core/event_loop.py +++ b/src/osmo_gsm_tester/core/event_loop.py @@ -85,9 +85,8 @@ self.gctx.iteration(may_block) self.deferred_handling.handle_queue() -def wait_no_raise(self, log_obj, condition, condition_args, condition_kwargs, timeout, timestep): +def wait_no_raise(self, condition, condition_args, condition_kwargs, timeout, timestep): if not timeout or timeout < 0: -self = log_obj raise log.Error('wait() *must* time out at some point.', timeout=timeout) if timestep < 0.1: timestep = 0.1 @@ -105,14 +104,13 @@ success = wait_req.condition_ack return success -def wait(self, log_obj, condition, *condition_args, timeout=300, timestep=1, **condition_kwargs): -if not self.wait_no_raise(log_obj, condition, condition_args, condition_kwargs, timeout, timestep): -log.ctx(log_obj) +def wait(self, condition, *condition_args, timeout=300, timestep=1, **condition_kwargs): +if not self.wait_no_raise(condition, condition_args, condition_kwargs, timeout, timestep): raise log.Error('Wait timeout', condition=condition, timeout=timeout, timestep=timestep) -def sleep(self, log_obj, seconds): +def sleep(self, seconds): assert seconds > 0. -self.wait_no_raise(log_obj, lambda: False, [], {}, timeout=seconds, timestep=seconds) +self.wait_no_raise(lambda: False, [], {}, timeout=seconds, timestep=seconds) MainLoop = EventLoop() diff --git a/src/osmo_gsm_tester/core/process.py b/src/osmo_gsm_tester/core/process.py index 33ae69a..8954674 100644 --- a/src/osmo_gsm_tester/core/process.py +++ b/src/osmo_gsm_tester/core/process.py @@ -347,7 +347,7 @@ return self.result is not None def wait(self, timeout=300): -MainLoop.wait(self, self.terminated, timeout=timeout) +MainLoop.wait(self.terminated, timeout=timeout) def stdin_write(self, cmd): ''' diff --git a/src/osmo_gsm_tester/obj/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py index a818a8f..03730a6 100644 --- a/src/osmo_gsm_tester/obj/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -139,7 +139,7 @@ # Let some time for BTS to restart. It takes much more than 20 secs, and # this way we make sure we don't catch responses in abisip-find prior to # BTS restarting. -MainLoop.sleep(self, 20) +MainLoop.sleep(20) self.dbg('Starting to connect id %d trx %d to' % (unitid, trx_i), self.bsc) ipfind = AbisIpFind(self.testenv, self.run_dir, local_bind_ip, 'postconf') @@ -150,7 +150,7 @@ else: self.dbg('nanoBTS id %d trx %d no need to change OML IP (%s) and restart' % (unitid, trx_i, running_oml_ip)) -MainLoop.wait(self, self.bsc.bts_is_connected, self, timeout=600) +MainLoop.wait(self.bsc.bts_is_connected, self, timeout=600) self.log('nanoBTS connected to BSC') #According to roh, it can be configured to use a static IP in a permanent way: @@ -239,11 +239,11 @@ return self.get_line_by_ip(ipaddr) is not None def wait_bts_ready(self, ipaddr): -MainLoop.wait(self, self.bts_ready, ipaddr) +MainLoop.wait(self.bts_ready, ipaddr) # There's a period of time after boot in which nanobts answers to # abisip-find but tcp RSTs ipacces-config conns. Let's wait in here a # bit more time to avoid failing after stating the BTS is ready. -MainLoop.sleep(self, 2) +MainLoop.sleep(2) class IpAccessConfig(log.Origin): testenv = None
Change in osmo-bts[master]: gsm_data_shared: use bitvec API to allocate the feature vector
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18773 ) Change subject: gsm_data_shared: use bitvec API to allocate the feature vector .. Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/18773/1/src/common/gsm_data_shared.c File src/common/gsm_data_shared.c: https://gerrit.osmocom.org/c/osmo-bts/+/18773/1/src/common/gsm_data_shared.c@325 PS1, Line 325: bts->features = bitvec_alloc(MAX_BTS_FEATURES / 8, bts); > (should this also be OSMO_BYTES_FOR_BITS()?) I don't think it's necessary given that this macro is defined in libosmocore, and divided by 8 without remainder. We can change this later. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 Gerrit-Change-Number: 18773 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 17:41:34 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment
Change in osmo-mgw[master]: endp: move endpoint name generation into mgcp_endp.c
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18754 ) Change subject: endp: move endpoint name generation into mgcp_endp.c .. Patch Set 1: Code-Review+1 I agree with pespin, but no deal breakers -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8dee07f1c63037d1f73113f69c612d1f2703cee5 Gerrit-Change-Number: 18754 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 17:40:20 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: oml: fix TL16V length calculation in add_bts_feat()
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18592 ) Change subject: oml: fix TL16V length calculation in add_bts_feat() .. oml: fix TL16V length calculation in add_bts_feat() An additional octet is only needed if total number of features cannot be devided by 8 without the remainder. Fix this. Change-Id: Ie501e5a635493830e0597f7b2fa287b6448e660d --- M src/common/oml.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/src/common/oml.c b/src/common/oml.c index c2c1248..587a808 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -173,7 +173,8 @@ /* Add BTS features as 3GPP TS 52.021 §9.4.30 Manufacturer Id */ static inline void add_bts_feat(struct msgb *msg, const struct gsm_bts *bts) { - msgb_tl16v_put(msg, NM_ATT_MANUF_ID, _NUM_BTS_FEAT/8 + 1, bts->_features_data); + unsigned int len = OSMO_BYTES_FOR_BITS(_NUM_BTS_FEAT); + msgb_tl16v_put(msg, NM_ATT_MANUF_ID, len, bts->_features_data); } static inline void add_trx_attr(struct msgb *msg, const struct gsm_bts_trx *trx) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie501e5a635493830e0597f7b2fa287b6448e660d Gerrit-Change-Number: 18592 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged
Change in osmo-bts[master]: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18600 ) Change subject: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC .. osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC EGPRS support, in particular MCS channel coding, was introduced to osmo-bts-trx years ago, but we still report that it's not supported. Let's stop confusing BSC, and set this feature too. Change-Id: Iaf92764d266e12efd2350967deffae50fbbb3b9e --- M src/osmo-bts-trx/main.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 3c1c892..3ccd597 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -111,6 +111,7 @@ bts->c0->nominal_power = 23; gsm_bts_set_feature(bts, BTS_FEAT_GPRS); + gsm_bts_set_feature(bts, BTS_FEAT_EGPRS); gsm_bts_set_feature(bts, BTS_FEAT_OML_ALERTS); gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_V1); gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_V1); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaf92764d266e12efd2350967deffae50fbbb3b9e Gerrit-Change-Number: 18600 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged
Change in osmo-bts[master]: gsm_data_shared: use bitvec API to allocate the feature vector
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18773 to look at the new patch set (#2). Change subject: gsm_data_shared: use bitvec API to allocate the feature vector .. gsm_data_shared: use bitvec API to allocate the feature vector Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 --- M include/osmo-bts/gsm_data_shared.h M src/common/gsm_data_shared.c M src/common/oml.c 3 files changed, 6 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/18773/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 Gerrit-Change-Number: 18773 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API
Hello lynxis lazus, pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 to look at the new patch set (#8). Change subject: Do not mix public and private BTS features, use libosmocore's API .. Do not mix public and private BTS features, use libosmocore's API It was a very bad idea to mix "public" BTS features, that are reported to the BSC via OML, and those features, that are used locally (and exclusively) in osmo-bts. Why? At least because we already have the BTS feature manipulation API in libosmocore, that is used by osmo-bsc, but for some reason not by osmo-bts. New features added to libosmocore would clash with the existing "internal" ones like BTS_FEAT_MS_PWR_CTRL_DSP. So what this change does can be described as follows: - remove duplicate definition of the "public" features, - use libosmocore's API for the "public" features, - separate both "internal" and "public" features: - the "public" features continue to live in bitvec, - the "internal" features become flags, - s/BTS_FEAT/BTS_INTERNAL_FLAG/g. Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/gsm_data_shared.c M src/common/l1sap.c M src/common/vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-oc2g/main.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/main.c M src/osmo-bts-trx/main.c M src/osmo-bts-virtual/main.c M tests/misc/misc_test.c 12 files changed, 110 insertions(+), 132 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/91/18591/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e Gerrit-Change-Number: 18591 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: gsm_data_shared: use bitvec API to allocate the feature vector
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18773 ) Change subject: gsm_data_shared: use bitvec API to allocate the feature vector .. Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/18773/1/src/common/gsm_data_shared.c File src/common/gsm_data_shared.c: https://gerrit.osmocom.org/c/osmo-bts/+/18773/1/src/common/gsm_data_shared.c@325 PS1, Line 325: bts->features = bitvec_alloc(MAX_BTS_FEATURES / 8, bts); (should this also be OSMO_BYTES_FOR_BITS()?) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 Gerrit-Change-Number: 18773 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 17:35:34 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-bts[master]: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18600 ) Change subject: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC .. Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaf92764d266e12efd2350967deffae50fbbb3b9e Gerrit-Change-Number: 18600 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 17:33:35 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: oml: fix TL16V length calculation in add_bts_feat()
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18592 ) Change subject: oml: fix TL16V length calculation in add_bts_feat() .. Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie501e5a635493830e0597f7b2fa287b6448e660d Gerrit-Change-Number: 18592 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 10 Jun 2020 17:33:07 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in docker-playground[master]: MSC_Tests.cfg: tweak comments
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18776 ) Change subject: MSC_Tests.cfg: tweak comments .. MSC_Tests.cfg: tweak comments Change-Id: If5f9cff03f078987c5b9051f8d63c239bf92ddb7 --- M ttcn3-msc-test/MSC_Tests.cfg 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/76/18776/1 diff --git a/ttcn3-msc-test/MSC_Tests.cfg b/ttcn3-msc-test/MSC_Tests.cfg index 1614d24..1e5fd61 100644 --- a/ttcn3-msc-test/MSC_Tests.cfg +++ b/ttcn3-msc-test/MSC_Tests.cfg @@ -14,9 +14,9 @@ transport := BSSAP_TRANSPORT_AoIP, sccp_service_type := "mtp3_itu", sctp_addr := { 23906, "172.18.1.103", 2905, "172.18.1.200" }, - own_pc := 193, /* 0.24.1 */ + own_pc := 193, /* 0.24.1 BSC emulation [0] */ own_ssn := 254, - peer_pc := 185, /* 0.23.1 */ + peer_pc := 185, /* 0.23.1 osmo-msc */ peer_ssn := 254, sio := '83'O, rctx := 0 @@ -25,9 +25,9 @@ transport := BSSAP_TRANSPORT_AoIP, sccp_service_type := "mtp3_itu", sctp_addr := { 23907, "172.18.1.103", 2905, "172.18.1.200" }, - own_pc := 194, /* 0.24.2 */ + own_pc := 194, /* 0.24.2 BSC emulation [1] */ own_ssn := 254, - peer_pc := 185, /* 0.23.1 */ + peer_pc := 185, /* 0.23.1 osmo-msc */ peer_ssn := 254, sio := '83'O, rctx := 1 @@ -36,9 +36,9 @@ transport := RANAP_TRANSPORT_IuCS, sccp_service_type := "mtp3_itu", sctp_addr := { 23908, "172.18.1.103", 2905, "172.18.1.200" }, - own_pc := 195, /* 0.24.3 */ + own_pc := 195, /* 0.24.3 BSC emulation [2] */ own_ssn := 142, - peer_pc := 185, /* 0.23.1 */ + peer_pc := 185, /* 0.23.1 osmo-msc */ peer_ssn := 142, sio := '83'O, rctx := 2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If5f9cff03f078987c5b9051f8d63c239bf92ddb7 Gerrit-Change-Number: 18776 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in docker-playground[master]: BSC_Tests.cfg: adjust cfg for multiple MSCs
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18774 ) Change subject: BSC_Tests.cfg: adjust cfg for multiple MSCs .. BSC_Tests.cfg: adjust cfg for multiple MSCs This only enables ttcn to be able to connect multiple MSCs. To be able to use this in the BSC_Tests, osmo-bsc.cfg needs adjusting in an upcoming patch; tests using this are in osmo-ttcn3-hacks I21cbab193cd0de2e5692665442eae113d5f61904. Depends: Ibb36695b7c31f7b04eec6c5d59522fc0779b3c2f (osmo-ttcn3-hacks) Change-Id: I1986e4ef43beee161c82193694421b56136c1afe --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/osmo-stp.cfg 2 files changed, 50 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/74/18774/1 diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index a27d099..fab146d 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -13,15 +13,39 @@ BSC_Tests.mp_test_ip := "172.18.2.203"; BSC_Tests.mp_enable_osmux_test := true; BSC_Tests.mp_bssap_cfg := { - transport := BSSAP_TRANSPORT_AoIP, - sccp_service_type := "mtp3_itu", - sctp_addr := { 23905, "172.18.2.203", 2905, "172.18.2.200" }, - own_pc := 185, - own_ssn := 254, - peer_pc := 187, - peer_ssn := 254, - sio := '83'O, - rctx := 1 + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23905, "172.18.2.203", 2905, "172.18.2.200" }, + own_pc := 185, /* 0.23.1 first MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 1 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23906, "172.18.2.203", 2905, "172.18.2.200" }, + own_pc := 2,/* 0.0.2 second MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 2 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23907, "172.18.2.203", 2905, "172.18.2.200" }, + own_pc := 3,/* 0.0.3 third MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 3 + } }; BSC_Tests_CBSP.mp_cgi_bts0 := { '001'H, '01'H, 1, 0 }; BSC_Tests_CBSP.mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index 9102114..0c6d3a2 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -45,8 +45,25 @@ as virt-msc0 m3ua asp virt-msc0-0 routing-key 1 0.23.1 + + asp virt-msc1-0 23906 2905 m3ua + local-ip 172.18.2.200 + remote-ip 172.18.2.203 + as virt-msc1 m3ua + asp virt-msc1-0 + routing-key 2 0.0.2 + + asp virt-msc2-0 23907 2905 m3ua + local-ip 172.18.2.200 + remote-ip 172.18.2.203 + as virt-msc2 m3ua + asp virt-msc2-0 + routing-key 3 0.0.3 + route-table system update route 0.23.1 7.255.7 linkset virt-msc0 + update route 0.0.2 7.255.7 linkset virt-msc1 + update route 0.0.3 7.255.7 linkset virt-msc2 listen m3ua 2905 accept-asp-connections dynamic-permitted listen ipa 5000 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1986e4ef43beee161c82193694421b56136c1afe Gerrit-Change-Number: 18774 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in docker-playground[master]: bsc: adjust osmo-bsc.cfg for MSC pooling tests
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18775 ) Change subject: bsc: adjust osmo-bsc.cfg for MSC pooling tests .. bsc: adjust osmo-bsc.cfg for MSC pooling tests Depends: I6c251f2744d7be26fc4ad74adefc96a6a3fe08b0 (osmo-bsc) Change-Id: I353a2023d41d9f083acdd61da11109cb5a002f9b --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/75/18775/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 271b228..d49e6f2 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -58,6 +58,10 @@ cs7 instance 0 asp asp-clnt-msc-0 2905 2905 m3ua remote-ip 172.18.2.200 + sccp-address msc2 + point-code 0.0.2 + sccp-address msc3 + point-code 0.0.3 network network country code 1 mobile network code 1 @@ -389,6 +393,27 @@ codec-list fr1 fr2 fr3 hr1 hr3 mgw remote-ip 172.18.2.203 lcls-mode mgw-loop +msc 1 + msc-addr msc2 + mgw remote-ip 172.18.2.203 +msc 2 + msc-addr msc3 + mgw remote-ip 172.18.2.203 + +network + nri bitlen 10 + # a NULL NRI that is outside the NRI ranges used by the MSCs: + nri null add 0 + # a NULL NRI that is also used by an MSC: + nri null add 1 +msc 0 + nri add 1 255 +msc 1 + nri add 256 511 +msc 2 + nri add 512 767 + # range 768-1024 is not assigned to any MSC on purpose + bsc mid-call-timeout 0 no missing-msc-text -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I353a2023d41d9f083acdd61da11109cb5a002f9b Gerrit-Change-Number: 18775 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-sgsn[master]: use new osmo_mobile_identity API everywhere
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18716 to look at the new patch set (#2). Change subject: use new osmo_mobile_identity API everywhere .. use new osmo_mobile_identity API everywhere Depends: Ic3f969e739654c1e8c387aedeeba5cce07fe2307 (libosmocore) Change-Id: I4cacb10bac419633ca0c14f244f9903f7f517b49 --- M src/gbproxy/gb_proxy_patch.c M src/gbproxy/gb_proxy_tlli.c M src/gbproxy/gb_proxy_vty.c M src/gprs/gprs_gb_parse.c M src/sgsn/gprs_gmm.c M tests/gbproxy/gbproxy_test.c 6 files changed, 135 insertions(+), 120 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/16/18716/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I4cacb10bac419633ca0c14f244f9903f7f517b49 Gerrit-Change-Number: 18716 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18591 ) Change subject: Do not mix public and private BTS features, use libosmocore's API .. Patch Set 7: Code-Review+2 my +1 and laforge's +1 combined -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e Gerrit-Change-Number: 18591 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 17:24:54 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Build failure of network:osmocom:nightly/open5gs in Raspbian_10/armv7l
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Raspbian_10/armv7l Package network:osmocom:nightly/open5gs failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 656s] [1928/2112] cc -Isrc/udr/e340f29@@udr@sta -Isrc/udr -I../src/udr -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -I/usr/include/p11-kit-1 -I/usr/include/arm-linux-gnueabihf -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udr/e340f29@@udr@sta/sbi-path.c.o' -MF 'src/udr/e340f29@@udr@sta/sbi-path.c.o.d' -o 'src/udr/e340f29@@udr@sta/sbi-path.c.o' -c ../src/udr/sbi-path.c [ 656s] [1929/2112] cc -Isrc/udr/e340f29@@udr@sta -Isrc/udr -I../src/udr -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -I/usr/include/p11-kit-1 -I/usr/include/arm-linux-gnueabihf -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udr/e340f29@@udr@sta/udr-sm.c.o' -MF 'src/udr/e340f29@@udr@sta/udr-sm.c.o.d' -o 'src/udr/e340f29@@udr@sta/udr-sm.c.o' -c ../src/udr/udr-sm.c [ 657s] [1930/2112] cc -Isrc/udr/e340f29@@udr@sta -Isrc/udr -I../src/udr -Ilib/app -I../lib/app -Ilib -I../lib -Ilib/core -I../lib/core -Ilib/dbi -I../lib/dbi -Ilib/crypt -I../lib/crypt -Ilib/sbi -I../lib/sbi -Ilib/sbi/openapi -I../lib/sbi/openapi -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -I/usr/include/p11-kit-1 -I/usr/include/arm-linux-gnueabihf -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu89 -Wextra -Wlogical-op -Werror=missing-include-dirs -Werror=pointer-arith -Werror=init-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=missing-declarations -Werror=implicit-function-declaration -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wimplicit-fallthrough=5 -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wunused -Wduplicated-branches -Wmisleading-indentation -Wno-sign-compare -Wno-unused-parameter -ffast-math -fdiagnostics-show-option -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -ffunction-sections -fdata-sections -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ 'src/udr/e340f29@@udr@sta/init.c.o' -MF 'src/udr/e340f29@@udr@sta/init.c.o.d' -o 'src/udr/e340f29@@udr@sta/init.c.o' -c ../src/udr/init.c [ 657s] [1931/2112] rm -f src/udr/libudr.a && gcc-ar csrD src/udr/libudr.a 'src/udr/e340f29@@udr@sta/context.c.o'
Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1()
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18542 ) Change subject: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() .. trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() Change-Id: I10f03ca66412a4a7094b0f4a7319411d5d5818ef --- M src/host/trxcon/l1ctl.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 84e1ec6..192cdd1 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -606,6 +606,9 @@ if (!h->n) { LOGP(DL1C, LOGL_ERROR, "No channels in mobile allocation?!?\n"); return -EINVAL; + } else if (h->n > ARRAY_SIZE(ma)) { + LOGP(DL1C, LOGL_ERROR, "More than 64 channels in mobile allocation?!?\n"); + return -EINVAL; } /* Convert from network to host byte order */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I10f03ca66412a4a7094b0f4a7319411d5d5818ef Gerrit-Change-Number: 18542 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1()
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18542 ) Change subject: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() .. Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18542/2/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18542/2/src/host/trxcon/l1ctl.c@610 PS2, Line 610: LOGP(DL1C, LOGL_ERROR, "More than 64 channels in mobile allocation?!?\n"); > rather write the actual "%lu", ARRAY_SIZE(ma) than hardode "64" It's always 64 according to the specs., so I don't think it's critical. I mean it's not just a maximum that we support. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I10f03ca66412a4a7094b0f4a7319411d5d5818ef Gerrit-Change-Number: 18542 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 17:04:39 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels Gerrit-MessageType: comment
Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18591 ) Change subject: Do not mix public and private BTS features, use libosmocore's API .. Patch Set 6: (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/18591/6/include/osmo-bts/gsm_data_shared.h File include/osmo-bts/gsm_data_shared.h: https://gerrit.osmocom.org/c/osmo-bts/+/18591/6/include/osmo-bts/gsm_data_shared.h@461 PS6, Line 461: /* BTS implementation flags (internal use, not exposed via OML) */ > (so maybe reflect "internal" in the naming? bts_internal_flag_get(), > bts_internal_flag_set()?) Done https://gerrit.osmocom.org/c/osmo-bts/+/18591/6/include/osmo-bts/gsm_data_shared.h@465 PS6, Line 465: (bts->flags |= (typeof(bts->flags)) flag) > (braces around this are slightly weird) Done https://gerrit.osmocom.org/c/osmo-bts/+/18591/6/include/osmo-bts/gsm_data_shared.h@468 PS6, Line 468: #define BTS_IMPL_FLAG_MS_PWR_CTRL_DSP(1 << 0) > ( s/IMPL/INTERNAL/ ?) Done https://gerrit.osmocom.org/c/osmo-bts/+/18591/6/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/18591/6/src/common/vty.c@843 PS6, Line 843: vty_out(vty, " Implementation flags:%s", VTY_NEWLINE); > "Implementation" is a very general term, basically all code is > implementation. […] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e Gerrit-Change-Number: 18591 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 16:59:27 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment
Change in osmo-bts[master]: gsm_data_shared: use bitvec API to allocate the feature vector
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18773 ) Change subject: gsm_data_shared: use bitvec API to allocate the feature vector .. gsm_data_shared: use bitvec API to allocate the feature vector Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 --- M include/osmo-bts/gsm_data_shared.h M src/common/gsm_data_shared.c M src/common/oml.c 3 files changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/18773/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index dc7d39f..ab7ee72 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -523,8 +523,7 @@ char sub_model[MAX_VERSION_LENGTH]; /* features of a given BTS set/reported via OML */ - struct bitvec features; - uint8_t _features_data[MAX_BTS_FEATURES/8]; + struct bitvec *features; /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index c05f59d..e23b04b 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -322,8 +322,8 @@ } bts->c0->ts[0].pchan = GSM_PCHAN_CCCH_SDCCH4; - bts->features.data = >_features_data[0]; - bts->features.data_len = sizeof(bts->_features_data); + bts->features = bitvec_alloc(MAX_BTS_FEATURES / 8, bts); + OSMO_ASSERT(bts->features != NULL); return bts; } diff --git a/src/common/oml.c b/src/common/oml.c index 587a808..5610ab1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -174,7 +174,7 @@ static inline void add_bts_feat(struct msgb *msg, const struct gsm_bts *bts) { unsigned int len = OSMO_BYTES_FOR_BITS(_NUM_BTS_FEAT); - msgb_tl16v_put(msg, NM_ATT_MANUF_ID, len, bts->_features_data); + msgb_tl16v_put(msg, NM_ATT_MANUF_ID, len, bts->features->data); } static inline void add_trx_attr(struct msgb *msg, const struct gsm_bts_trx *trx) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I19ecfc619c0dc2bfd14f054d17e222c4e16f6238 Gerrit-Change-Number: 18773 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in osmo-bts[master]: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC
Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18600 to look at the new patch set (#7). Change subject: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC .. osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC EGPRS support, in particular MCS channel coding, was introduced to osmo-bts-trx years ago, but we still report that it's not supported. Let's stop confusing BSC, and set this feature too. Change-Id: Iaf92764d266e12efd2350967deffae50fbbb3b9e --- M src/osmo-bts-trx/main.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/18600/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaf92764d266e12efd2350967deffae50fbbb3b9e Gerrit-Change-Number: 18600 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: oml: fix TL16V length calculation in add_bts_feat()
Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18592 to look at the new patch set (#8). Change subject: oml: fix TL16V length calculation in add_bts_feat() .. oml: fix TL16V length calculation in add_bts_feat() An additional octet is only needed if total number of features cannot be devided by 8 without the remainder. Fix this. Change-Id: Ie501e5a635493830e0597f7b2fa287b6448e660d --- M src/common/oml.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/18592/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie501e5a635493830e0597f7b2fa287b6448e660d Gerrit-Change-Number: 18592 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API
Hello lynxis lazus, pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 to look at the new patch set (#7). Change subject: Do not mix public and private BTS features, use libosmocore's API .. Do not mix public and private BTS features, use libosmocore's API It was a very bad idea to mix "public" BTS features, that are reported to the BSC via OML, and those features, that are used locally (and exclusively) in osmo-bts. Why? At least because we already have the BTS feature manipulation API in libosmocore, that is used by osmo-bsc, but for some reason not by osmo-bts. New features added to libosmocore would clash with the existing "internal" ones like BTS_FEAT_MS_PWR_CTRL_DSP. So what this change does can be described as follows: - remove duplicate definition of the "public" features, - use libosmocore's API for the "public" features, - separate both "internal" and "public" features: - the "public" features continue to live in bitvec, - the "internal" features become flags, - s/BTS_FEAT/BTS_INTERNAL_FLAG/g. Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/gsm_data_shared.c M src/common/l1sap.c M src/common/vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-oc2g/main.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/main.c M src/osmo-bts-trx/main.c M src/osmo-bts-virtual/main.c M tests/misc/misc_test.c 12 files changed, 110 insertions(+), 132 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/91/18591/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icf792d02323bb73e3b8d46384c7890cb1eb4731e Gerrit-Change-Number: 18591 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset
Change in osmo-gsm-tester[master]: ttcn3: Don't overwrite output junit file on multiple testsuites
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18772 ) Change subject: ttcn3: Don't overwrite output junit file on multiple testsuites .. ttcn3: Don't overwrite output junit file on multiple testsuites Change-Id: I803fa8766acb4e90c4a735a420b24ef18ef6b0c9 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py M sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/72/18772/1 diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index f0e8667..394e76e 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -10,7 +10,7 @@ bts_tmpl_file = os.path.join(testdir, 'scripts', 'BTS_Tests.cfg.tmpl') script_run_dir = tenv.test().get_run_dir().new_dir('ttcn3') bts_cfg_file = os.path.join(str(script_run_dir), 'BTS_Tests.cfg') -junit_ttcn3_dst_file = os.path.join(str(tenv.suite().trial().get_run_dir()), 'trial-') + tenv.test().basename + '.xml' +junit_ttcn3_dst_file = os.path.join(str(tenv.suite().trial().get_run_dir()), 'trial-' + tenv.suite().name() + '.' + tenv.test().module_name() + '.xml') if bts.bts_type() == 'osmo-bts-trx': pcu_available = True pcu_sk = bts.pcu_socket_path() diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh index daac3e0..535268a 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh @@ -88,6 +88,6 @@ echo "Copying TTCN3 junit file to $JUNIT_TTCN3_DST_FILE" cp $VOL_BASE_DIR/bts-tester/junit-xml-*.log $JUNIT_TTCN3_DST_FILE -sed -i "s#classname='BTS_Tests'#classname='$(basename $JUNIT_TTCN3_DST_FILE)'#g" $JUNIT_TTCN3_DST_FILE +sed -i "s#classname='BTS_Tests'#classname='$(basename $JUNIT_TTCN3_DST_FILE '.xml')'#g" $JUNIT_TTCN3_DST_FILE exit $child_exit_code -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I803fa8766acb4e90c4a735a420b24ef18ef6b0c9 Gerrit-Change-Number: 18772 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange
Change in docker-playground[master]: debian-stretch-jenkins/Dockerfile: Install source-highlight
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18771 ) Change subject: debian-stretch-jenkins/Dockerfile: Install source-highlight .. Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8427179f7cfc0c9150e5327803ca89adffedb8f1 Gerrit-Change-Number: 18771 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 16:47:22 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in docker-playground[master]: debian-stretch-jenkins/Dockerfile: Install source-highlight
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18771 ) Change subject: debian-stretch-jenkins/Dockerfile: Install source-highlight .. debian-stretch-jenkins/Dockerfile: Install source-highlight It is needed by some user manuals using code snippet syntax higlhlighting, such as osmo-gsm-tester one: """ [source,python] sleep(3) # sleep for 3 seconds """ asciidoc: WARNING: test_api.adoc: line 19: filter non-zero exit code: source-highlight -f xhtml -s python: returned 127 asciidoc: WARNING: test_api.adoc: line 19: no output from filter: source-highlight -f xhtml -s python Change-Id: I8427179f7cfc0c9150e5327803ca89adffedb8f1 --- M debian-stretch-jenkins/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/71/18771/1 diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index e519f26..158f7d7 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -103,6 +103,7 @@ rsync \ sdcc \ sqlite3 \ + source-highlight \ stow \ sudo \ systemd \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8427179f7cfc0c9150e5327803ca89adffedb8f1 Gerrit-Change-Number: 18771 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange
Change in osmo-gsm-tester[master]: tests: Replace is_connected() with is_registered()
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18756 ) Change subject: tests: Replace is_connected() with is_registered() .. tests: Replace is_connected() with is_registered() API was renamed and old name deprecated, let's use it everywhere. Change-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523 --- M doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M doc/examples/4g_srsLTE/suites/4g/ping.py M src/osmo_gsm_tester/obj/ms_ofono.py M sysmocom/suites/debug/interactive.py M sysmocom/suites/dynts/switch_tch_pdch.py M sysmocom/suites/encryption/lib/testlib.py M sysmocom/suites/gprs/lib/testlib.py M sysmocom/suites/gprs/ping.py M sysmocom/suites/gprs/ping_idle_ping.py M sysmocom/suites/nitb_debug/interactive.py M sysmocom/suites/nitb_netreg/register.py M sysmocom/suites/nitb_netreg/register_default.py M sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py M sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py M sysmocom/suites/nitb_sms/mo_mt_sms.py M sysmocom/suites/nitb_ussd/assert_extension.py M sysmocom/suites/smpp/esme_ms_sms_storeforward.py M sysmocom/suites/smpp/esme_ms_sms_transaction.py M sysmocom/suites/sms/mo_mt_sms.py M sysmocom/suites/ussd/assert_extension.py M sysmocom/suites/voice/lib/testlib.py 23 files changed, 30 insertions(+), 34 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py index 51e78c0..d7606e4 100755 --- a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py +++ b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py @@ -33,8 +33,8 @@ ms_mt.log_info() print('waiting for modems to attach...') -wait(ms_mo.is_connected, msc.mcc_mnc()) -wait(ms_mt.is_connected, msc.mcc_mnc()) +wait(ms_mo.is_registered, msc.mcc_mnc()) +wait(ms_mt.is_registered, msc.mcc_mnc()) wait(msc.subscriber_attached, ms_mo, ms_mt) sms = ms_mo.sms_send(ms_mt) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index d90c80b..d84c078 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -26,7 +26,7 @@ proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') -wait(ue.is_connected, None) +wait(ue.is_registered, None) print('UE is attached') print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 453cdfa..2592632 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -26,7 +26,7 @@ proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') -wait(ue.is_connected, None) +wait(ue.is_registered, None) print('UE is attached') print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) diff --git a/doc/examples/4g_srsLTE/suites/4g/ping.py b/doc/examples/4g_srsLTE/suites/4g/ping.py index c81a35d..ca35053 100755 --- a/doc/examples/4g_srsLTE/suites/4g/ping.py +++ b/doc/examples/4g_srsLTE/suites/4g/ping.py @@ -16,7 +16,7 @@ ue.connect(enb) print('waiting for UE to attach...') -wait(ue.is_connected, None) +wait(ue.is_registered, None) print('UE is attached') proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index e03427e..cec6824 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -519,10 +519,6 @@ return True return False -def is_connected(self, mcc_mnc=None): -'''Convenience helper to keep old test API''' -return self.is_registered(mcc_mnc) - def schedule_scan_register(self, mcc_mnc): if self.register_attempts > NETREG_MAX_REGISTER_ATTEMPTS: raise log.Error('Failed to find Network Operator', mcc_mnc=mcc_mnc, attempts=self.register_attempts) @@ -547,7 +543,7 @@ # So far the easiest seems to check if we are now registered and # otherwise schedule a scan again. self.err('Scan() failed, retrying if needed:', e) -if not self.is_connected(mcc_mnc): +if not self.is_registered(mcc_mnc): self.schedule_scan_register(mcc_mnc) else: self.log('Already registered with network', mcc_mnc) @@ -632,7 +628,7 @@ self.cancel_pending_dbus_methods() self.power_cycle() self.register_attempts = 0 -if self.is_connected(mcc_mnc): +if self.is_registered(mcc_mnc): self.log('Already registered with',
Change in osmo-gsm-tester[master]: tests: Replace is_connected() with is_registered()
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18756 ) Change subject: tests: Replace is_connected() with is_registered() .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523 Gerrit-Change-Number: 18756 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 16:31:23 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-msc[master]: use new osmo_mobile_identity API everywhere
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/18715 to look at the new patch set (#2). Change subject: use new osmo_mobile_identity API everywhere .. use new osmo_mobile_identity API everywhere Depends: Ic3f969e739654c1e8c387aedeeba5cce07fe2307 (libosmocore) Change-Id: Idfc8e576e10756aeaacf5569f6178068313eb7ea --- M include/osmocom/msc/gsm_04_08.h M include/osmocom/msc/msub.h M include/osmocom/msc/vlr.h M src/libmsc/gsm_04_08.c M src/libmsc/msc_a.c M src/libmsc/msub.c M src/libmsc/ran_msg_a.c M src/libmsc/sgs_iface.c M src/libvlr/vlr.c M src/libvlr/vlr_access_req_fsm.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err 20 files changed, 231 insertions(+), 256 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/15/18715/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Idfc8e576e10756aeaacf5569f6178068313eb7ea Gerrit-Change-Number: 18715 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in osmo-gsm-tester[master]: doc/manual: Fix links to nonexistent sections
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18757 ) Change subject: doc/manual: Fix links to nonexistent sections .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b Gerrit-Change-Number: 18757 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 15:59:03 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: doc/manual: Fix links to nonexistent sections
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18757 ) Change subject: doc/manual: Fix links to nonexistent sections .. doc/manual: Fix links to nonexistent sections Change-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b --- M doc/manuals/chapters/config.adoc M doc/manuals/chapters/install.adoc 2 files changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 18ff55d..b4e4a95 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -326,15 +326,15 @@ A 'resources.conf' is validated by the <>. That means it is structured as a list of items for each resource type, where -each item has one or more attributes -- for an example, see -<>. +each item has one or more attributes -- looking for an example, see {app-name} +subdirectory _doc/examples_. Side note: at first sight it might make sense to the reader to rather structure e.g. the 'ip_address' or 'arfcn' configuration as + '"arfcn: GSM-1800: [512, 514, ...]"', + -but the more verbose format is chosen to stay consistent with the general -structure of resource configurations, which the resource allocation algorithm -uses to resolve required resources according to their traits. These +but the more verbose format is chosen in general to stay consistent with the +general structure of resource configurations, which the resource allocation +algorithm uses to resolve required resources according to their traits. These configurations look cumbersome because they exhibit only one trait / a trait that is repeated numerous times. No special notation for these cases is available (yet). diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index 445b53c..0e48e9d 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -309,7 +309,7 @@ wide install, in which case you could omit the explicit PATH to "$PWD/osmo-gsm-tester/src". *** This assumes that there are configuration files for osmo-gsm-tester placed -on the system (see <>). +on the system (see <>). *** If you'd like to check the behavior of test failures, you can uncomment the line below "# debug" to produce a build failure on every run. Note that this test typically produces a quite empty run result, since it launches no @@ -687,4 +687,4 @@ NOTE: The configuration will be looked up in various places, see -<>. +<>. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b Gerrit-Change-Number: 18757 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in osmo-gsm-tester[master]: tests: Replace is_connected() with is_registered()
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18756 to look at the new patch set (#2). Change subject: tests: Replace is_connected() with is_registered() .. tests: Replace is_connected() with is_registered() API was renamed and old name deprecated, let's use it everywhere. Change-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523 --- M doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M doc/examples/4g_srsLTE/suites/4g/ping.py M src/osmo_gsm_tester/obj/ms_ofono.py M sysmocom/suites/debug/interactive.py M sysmocom/suites/dynts/switch_tch_pdch.py M sysmocom/suites/encryption/lib/testlib.py M sysmocom/suites/gprs/lib/testlib.py M sysmocom/suites/gprs/ping.py M sysmocom/suites/gprs/ping_idle_ping.py M sysmocom/suites/nitb_debug/interactive.py M sysmocom/suites/nitb_netreg/register.py M sysmocom/suites/nitb_netreg/register_default.py M sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py M sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py M sysmocom/suites/nitb_sms/mo_mt_sms.py M sysmocom/suites/nitb_ussd/assert_extension.py M sysmocom/suites/smpp/esme_ms_sms_storeforward.py M sysmocom/suites/smpp/esme_ms_sms_transaction.py M sysmocom/suites/sms/mo_mt_sms.py M sysmocom/suites/ussd/assert_extension.py M sysmocom/suites/voice/lib/testlib.py 23 files changed, 30 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/56/18756/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523 Gerrit-Change-Number: 18756 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in osmo-bsc[master]: tweak log category for Compl L3 error
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18764 ) Change subject: tweak log category for Compl L3 error .. tweak log category for Compl L3 error At this time, no MSC has been selected for handling this subscriber, so DMSC is clearly the wrong logging category. Change-Id: I9c6373e5f28c9c69a0609889188ef28ade11da3d --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/18764/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 7f54fe6..a5f7493 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -154,7 +154,7 @@ bool is_emerg = false; if (msgb_l3len(msg) < sizeof(*gh)) { - LOGP(DMSC, LOGL_ERROR, "There is no GSM48 header here.\n"); + LOGP(DRSL, LOGL_ERROR, "There is no GSM48 header here.\n"); return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9c6373e5f28c9c69a0609889188ef28ade11da3d Gerrit-Change-Number: 18764 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-bsc[master]: use osmo_mobile_identity API everywhere
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18713 to look at the new patch set (#3). Change subject: use osmo_mobile_identity API everywhere .. use osmo_mobile_identity API everywhere Depends: Ic3f969e739654c1e8c387aedeeba5cce07fe2307 (libosmocore) Change-Id: I71c3b4c65dbfdfa51409e09d4868aea83225338a --- M include/osmocom/bsc/abis_rsl.h M include/osmocom/bsc/gsm_04_08_rr.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_subscriber.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/paging.c M src/osmo-bsc/pcu_sock.c 8 files changed, 66 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/13/18713/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71c3b4c65dbfdfa51409e09d4868aea83225338a Gerrit-Change-Number: 18713 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in osmo-ttcn3-hacks[master]: bsc: add MSC pooling tests
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18763 ) Change subject: bsc: add MSC pooling tests .. bsc: add MSC pooling tests The MSC pooling feature is implemented in osmo-bsc Ifbdea197b26e88751a391c8a80c41f04e7d5e047. A VTY command ('mscpool roundrobin next') that allows deterministic testing is added in I2155d906505a26744966f442ffb1e87a6a9b494c. osmo-bsc.cfg changes needed for these tests to succeed are in docker-playground I1986e4ef43beee161c82193694421b56136c1afe The new tests will fail until the above have been merged. Change-Id: I21cbab193cd0de2e5692665442eae113d5f61904 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/L3_Templates.ttcn 3 files changed, 799 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/18763/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index fb7ee25..0a6bc28 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -20,6 +20,7 @@ * level testing. */ +import from Misc_Helpers all; import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; @@ -369,6 +370,14 @@ "sccp-timer iar " & int2str(g_bsc_sccp_timer_iar)}); } +private function f_logp(charstring log_msg) runs on MSC_ConnHdlr +{ + // log on TTCN3 log output + log(log_msg); + // log in stderr log + f_vty_transceive(BSCVTY, "logp lglobal notice " & log_msg); +} + /* global initialization function * \param nr_bts Number of BTSs we should start/bring up * \param handler_mode Start an RSL_Emulation_CT component (true) or not (false) */ @@ -4443,6 +4452,707 @@ vc_conn.done; } +/*** + * MSC Pooling + ***/ + +function f_tmsi_nri(integer nri_v, octetstring base_tmsi := '4223'O, integer nri_bitlen := 10) return octetstring +{ + return int2oct( oct2int('4223'O) + bit2int( (int2bit(nri_v, 32) << ( 24 - nri_bitlen)) ), + 4); +} + +template MobileIdentityLV ts_MI_TMSI_NRI_LV(integer nri_v, integer nri_bitlen := 10) := + ts_MI_TMSI_LV(tmsi := f_tmsi_nri(nri_v, nri_bitlen := nri_bitlen)); + +private function f_perform_clear() runs on MSC_ConnHdlr { + f_logp("MSC instructs BSC to clear channel"); + BSSAP.send(ts_BSSMAP_ClearCommand(0)); + interleave { + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) { + f_logp("Got RSL RR Release"); + } + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + f_logp("Got RSL Deact SACCH"); + } + [] BSSAP.receive(tr_BSSMAP_ClearComplete) { + f_logp("Got BSSMAP Clear Complete"); + /* Also drop the SCCP connection */ + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); + } + [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + f_logp("Got RSL RF Chan Rel, sending Rel Ack"); + RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + } + } +} + +private function f_perform_clear_on_RSL1() runs on MSC_ConnHdlr { + f_logp("MSC instructs BSC to clear channel"); + BSSAP.send(ts_BSSMAP_ClearCommand(0)); + interleave { + [] RSL1.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) { + f_logp("Got RSL RR Release"); + } + [] RSL1.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + f_logp("Got RSL Deact SACCH"); + } + [] BSSAP.receive(tr_BSSMAP_ClearComplete) { + f_logp("Got BSSMAP Clear Complete"); + /* Also drop the SCCP connection */ + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); + } + [] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + f_logp("Got RSL RF Chan Rel, sending Rel Ack"); + RSL1.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + } + } +} + +private function f_perform_clear_on_RSL2() runs on MSC_ConnHdlr { + f_logp("MSC instructs BSC to clear channel"); + BSSAP.send(ts_BSSMAP_ClearCommand(0)); + interleave { + [] RSL2.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) { + f_logp("Got RSL RR Release"); + } + [] RSL2.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + f_logp("Got RSL Deact SACCH"); + } + [] BSSAP.receive(tr_BSSMAP_ClearComplete) { + f_logp("Got BSSMAP Clear Complete"); + /* Also drop the SCCP connection */ +
Change in osmo-ttcn3-hacks[master]: bsc: allow multiple MSCs
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18760 ) Change subject: bsc: allow multiple MSCs .. bsc: allow multiple MSCs Similar to the MSC tests, have several g_bssap and mp_bssap_cfg. Prepare for MSC pool tests. Replace g_bssap with a g_bssap[NUM_MSC] array. Replace mp_bssap_cfg with an mp_bssap_cfg[NUM_MSC] array. Requires patch I1986e4ef43beee161c82193694421b56136c1afe in docker-playground to match the new required BSC_Tests.cfg format. Related: OS#3682 Change-Id: Ibb36695b7c31f7b04eec6c5d59522fc0779b3c2f --- M bsc/BSC_Tests.ttcn M bsc/BSC_Tests_LCLS.ttcn M bsc/MSC_ConnectionHandler.ttcn 3 files changed, 120 insertions(+), 74 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/18760/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 48766f1..fb7ee25 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -59,6 +59,7 @@ import from SCCPasp_Types all; const integer NUM_BTS := 3; +const integer NUM_MSC := 3; const float T3101_MAX := 12.0; /* make sure to sync this with the osmo-bts.cfg you're using */ @@ -87,7 +88,7 @@ var MGCP_Emulation_CT vc_MGCP; port TELNETasp_PT BSCVTY; - var RAN_Adapter g_bssap; + var RAN_Adapter g_bssap[NUM_MSC]; /* for old legacy-tests only */ port BSSAP_CODEC_PT BSSAP; @@ -119,16 +120,40 @@ /* IP address at which the test binds */ charstring mp_test_ip := "127.0.0.1"; - RAN_Configuration mp_bssap_cfg := { - transport := BSSAP_TRANSPORT_AoIP, - sccp_service_type := "mtp3_itu", - sctp_addr := { 23905, "127.0.0.1", 2905, "127.0.0.1" }, - own_pc := 185, - own_ssn := 254, - peer_pc := 187, - peer_ssn := 254, - sio := '83'O, - rctx := 0 + RAN_Configurations mp_bssap_cfg := { + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23905, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 185, /* 0.23.1 first MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 0 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23906, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 2,/* 0.0.2 second MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 2 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23907, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 3,/* 0.0.3 third MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 3 + } }; /* Whether to enable osmux tests. Can be dropped completely and enable @@ -139,15 +164,16 @@ uint8_t mp_exp_ms_power_level := 7; } -private function f_gen_test_hdlr_pars() return TestHdlrParams { +private function f_gen_test_hdlr_pars(integer bssap_idx := 0) return TestHdlrParams { var TestHdlrParams pars := valueof(t_def_TestHdlrPars); - if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) { + if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { pars.aoip := true; } else { pars.aoip := false; } pars.exp_ms_power_level := mp_exp_ms_power_level; + pars.mscpool.bssap_idx := bssap_idx; return pars; } @@ -158,13 +184,15 @@ mtc.stop; } -private function f_legacy_bssap_reset() runs on test_CT { +private function f_legacy_bssap_reset(integer bssap_idx := 0) runs on test_CT { var BSSAP_N_UNITDATA_ind ud_ind; timer T := 5.0; - BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap.sccp_addr_peer, g_bssap.sccp_addr_own, ts_BSSMAP_Reset(0, g_osmux_enabled))); + BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap[bssap_idx].sccp_addr_peer, g_bssap[bssap_idx].sccp_addr_own, +ts_BSSMAP_Reset(0, g_osmux_enabled))); T.start; alt { - [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(g_bssap.sccp_addr_own,
Change in osmo-bsc[master]: log: add MSC number to bsc_subscr_conn_fsm id
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18768 ) Change subject: log: add MSC number to bsc_subscr_conn_fsm id .. log: add MSC number to bsc_subscr_conn_fsm id Change-Id: Iae232d0616d6c0009e3abe2dcfcb9c51ddfc761e --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/68/18768/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 3da9d66..ebf650a 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1067,7 +1067,8 @@ /* Compose an FSM ID, if possible from the current subscriber information */ void gscon_update_id(struct gsm_subscriber_connection *conn) { - osmo_fsm_inst_update_id_f(conn->fi, "conn%u%s%s", + osmo_fsm_inst_update_id_f(conn->fi, "msc%u-conn%u%s%s", + conn->sccp.msc->nr, conn->sccp.conn_id, conn->bsub? "_" : "", conn->bsub? bsc_subscr_id(conn->bsub) : ""); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iae232d0616d6c0009e3abe2dcfcb9c51ddfc761e Gerrit-Change-Number: 18768 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-ttcn3-hacks[master]: RAN_Emulation: allow sending UnitData from MSC_ConnHdlr
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18762 ) Change subject: RAN_Emulation: allow sending UnitData from MSC_ConnHdlr .. RAN_Emulation: allow sending UnitData from MSC_ConnHdlr Add BSSAP_N_UNITDATA_req to RAN_Conn_PT, so that we are able to send a Paging from a test function that runs on MSC_ConnHdlr. This will be needed by upcoming MSC pool tests, see I21cbab193cd0de2e5692665442eae113d5f61904. Change-Id: I36d486db05169b0fc3f19112b5a9008248d62930 --- M library/RAN_Emulation.ttcnpp 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/18762/1 diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 7e98b8b..5450706 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -162,6 +162,7 @@ inout #ifdef RAN_EMULATION_BSSAP PDU_BSSAP, + BSSAP_N_UNITDATA_req, /* Client requests us to create SCCP Connection */ BSSAP_Conn_Req, #endif @@ -839,6 +840,7 @@ var BSSAP_N_DISCONNECT_ind disc_ind; var BSSAP_Conn_Req creq; var PDU_BSSAP bssap; + var BSSAP_N_UNITDATA_req bssap_ud; var RAN_ConnHdlr vc_conn; var integer targetPointCode; var N_Sd_Array last_n_sd; @@ -898,6 +900,10 @@ BSSAP.send(ts_BSSAP_DATA_req(conn_id, bssap)); } + [] CLIENT.receive(BSSAP_N_UNITDATA_req:?) -> value bssap_ud sender vc_conn { + BSSAP.send(bssap_ud); + } + /* Disconnect request client -> SCCP */ [] CLIENT.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ) -> sender vc_conn { var integer conn_id := f_conn_id_by_comp(vc_conn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36d486db05169b0fc3f19112b5a9008248d62930 Gerrit-Change-Number: 18762 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-ttcn3-hacks[master]: fix f_enc_IMEI_L3() oddevenIndicator
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18758 ) Change subject: fix f_enc_IMEI_L3() oddevenIndicator .. fix f_enc_IMEI_L3() oddevenIndicator f_gen_imei() calls f_enc_IMEI_L3() with a 14 digits argument, but the IMEI_L3 template used is hardcoded to 15 digits. So the oddevenIndicator must always indicate odd, not depend on the digits argument. f_gen_imei() should probably also compose a Luhn checksum, leaving that to another patch. Found by using the new osmo_mobile_identity API in osmo-msc, which is stricter about odd/even and filler digits than our previous implementations. See osmo-msc Idfc8e576e10756aeaacf5569f6178068313eb7ea . Change-Id: Iaa9ba1214c4c15fd9620e68fe2e842fdf52912c0 --- M library/L3_Templates.ttcn 1 file changed, 14 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/18758/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 3032503..ba91180 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -184,11 +184,20 @@ private function f_enc_IMEI_L3(hexstring digits) return IMEI_L3 { var IMEI_L3 l3; var integer len := lengthof(digits); - if (len rem 2 == 1) { /* modulo remainder */ - l3.oddevenIndicator := '1'B; - } else { - l3.oddevenIndicator := '0'B; - } + /* IMEI_L3 is always 15 digits. That is actually a 14 digit IMEI + a Luhn checksum digit (see +* libosmocore/include/osmocom/gsm/protocol/gsm_23_003.h) +* +* Here, we must not make the oddevenIndicator depend on the 'digits' parameter, because: +* - The IMEI_L3 template assumes always 15 digits. +* - The 'digits' parameter, however, may also contain less digits, 14 in the case of +* f_gen_imei(). +* - The IMEI_L3 template will then fill up with zeros to make 15 digits. +* Hence oddevenIndicator must always indicate 'odd' == '1'B. +* +* FIXME: if the caller passes less than 15 digits, the Luhn checksum digit then ends up zero == most probably +* wrong. +*/ + l3.oddevenIndicator := '1'B; l3.digits := digits; return l3; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaa9ba1214c4c15fd9620e68fe2e842fdf52912c0 Gerrit-Change-Number: 18758 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-bsc[master]: MSC pooling: make NRI mappings VTY configurable
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18765 ) Change subject: MSC pooling: make NRI mappings VTY configurable .. MSC pooling: make NRI mappings VTY configurable Use the osmo_nri_ranges API to manage each MSC's NRI ranges by VTY configuration. Change-Id: I6c251f2744d7be26fc4ad74adefc96a6a3fe08b0 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/net_init.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c A tests/nri_cfg.vty 7 files changed, 386 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/18765/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 43adaec..3df2774 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -179,6 +179,8 @@ /* UDP socket for proxying MGCP via SCCPlite/IPA */ struct osmo_fd ofd; } mgcp_ipa; + + struct osmo_nri_ranges *nri_ranges; }; int osmo_bsc_msc_init(struct bsc_msc_data *msc); @@ -190,6 +192,7 @@ struct bsc_msc_data *osmo_msc_data_alloc(struct gsm_network *, int); + struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts); /* Helper function to calculate the port number for a given diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 45a868c..ee1784c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1700,6 +1700,9 @@ /* Don't refuse to start with mutually exclusive codec settings */ bool allow_unusable_timeslots; + + uint8_t nri_bitlen; + struct osmo_nri_ranges *null_nri_ranges; }; struct gsm_audio_support { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 80658ec..509d09c 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -35,6 +35,7 @@ #include #include #include +#include #include @@ -1110,6 +,7 @@ { struct gsm_network *gsmnet = gsmnet_from_vty(vty); int i; + struct osmo_nri_range *r; vty_out(vty, "network%s", VTY_NEWLINE); vty_out(vty, " network country code %s%s", osmo_mcc_name(gsmnet->plmn.mcc), VTY_NEWLINE); @@ -1159,6 +1161,21 @@ if (gsmnet->allow_unusable_timeslots) vty_out(vty, " allow-unusable-timeslots%s", VTY_NEWLINE); + if (gsmnet->nri_bitlen != OSMO_NRI_BITLEN_DEFAULT) { + if (gsmnet->nri_bitlen < 1 || gsmnet->nri_bitlen > 15) + vty_out(vty, " %% INVALID:"); + vty_out(vty, " nri bitlen %u%s", gsmnet->nri_bitlen, VTY_NEWLINE); + } + + llist_for_each_entry(r, >null_nri_ranges->entries, entry) { + if (osmo_nri_range_validate(r, 255)) + vty_out(vty, " %% INVALID RANGE:"); + vty_out(vty, " nri null add %d", r->first); + if (r->first != r->last) + vty_out(vty, " %d", r->last); + vty_out(vty, "%s", VTY_NEWLINE); + } + return CMD_SUCCESS; } @@ -2058,6 +2075,63 @@ return CMD_SUCCESS; } +#define NRI_STR "Mapping of Network Resource Indicators to this MSC, for MSC pooling\n" +#define NULL_NRI_STR "Define NULL-NRI values that cause re-assignment of an MS to a different MSC, for MSC pooling.\n" +#define NRI_FIRST_LAST_STR "First value of the NRI value range: either decimal ('23') or hexadecimal ('0x17')\n" \ + "Last value of the NRI value range: either decimal ('23') or hexadecimal ('0x17');" \ + " if omitted, apply only the first value.\n" +#define NRI_ARGS_TO_STR_FMT "%s%s%s" +#define NRI_ARGS_TO_STR_ARGS(ARGC, ARGV) ARGV[0], (ARGC>1)? ".." : "", (ARGC>1)? ARGV[1] : "" + +DEFUN(cfg_net_nri_bitlen, + cfg_net_nri_bitlen_cmd, + "nri bitlen <1-15>", + NRI_STR + "Set number of bits that an NRI has, to extract from TMSI identities (always starting just after the TMSI's most significant octet).\n" + "bit count (default: " OSMO_STRINGIFY_VAL(NRI_BITLEN_DEFAULT) ")\n") +{ + struct gsm_network *gsmnet = gsmnet_from_vty(vty); + gsmnet->nri_bitlen = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_net_nri_null_add, cfg_net_nri_null_add_cmd, + "nri null add FIRST [LAST]", + NRI_STR NULL_NRI_STR "Add NULL-NRI value (or range)\n" + NRI_FIRST_LAST_STR) +{ + int rc; + const char *message; + rc = osmo_nri_ranges_vty_add(, NULL, bsc_gsmnet->null_nri_ranges, argc, argv, +bsc_gsmnet->nri_bitlen); + if (message) { + vty_out(vty, "%% %s: " NRI_ARGS_TO_STR_FMT, message, NRI_ARGS_TO_STR_ARGS(argc, argv)); + } + if (rc < 0) + return CMD_WARNING; + return CMD_SUCCESS; +} + +DEFUN(cfg_net_nri_null_del,
Change in osmo-bsc[master]: debug: log about matching Paging Response to earlier Paging
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18769 ) Change subject: debug: log about matching Paging Response to earlier Paging .. debug: log about matching Paging Response to earlier Paging Change-Id: I277d3236686dd5a5a21113ef2ddfd29341190086 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/18769/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 0707c65..834a3e9 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -183,8 +183,15 @@ if (subscr) { msc_target = paging_get_msc(conn_get_bts(conn), subscr); bsc_subscr_put(subscr); - if (is_msc_usable(msc_target, is_emerg)) + if (is_msc_usable(msc_target, is_emerg)) { + LOG_COMPL_L3(pdisc, mtype, LOGL_DEBUG, "%s matches earlier Paging from msc %d\n", + osmo_mobile_identity_to_str_c(OTC_SELECT, ), msc_target->nr); return msc_target; + } else { + LOG_COMPL_L3(pdisc, mtype, LOGL_DEBUG, +"%s matches earlier Paging from msc %d, but this MSC is not connected\n", + osmo_mobile_identity_to_str_c(OTC_SELECT, ), msc_target->nr); + } msc_target = NULL; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I277d3236686dd5a5a21113ef2ddfd29341190086 Gerrit-Change-Number: 18769 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-bsc[master]: MSC pooling: implement NAS node selection by NRI from TMSI
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18766 ) Change subject: MSC pooling: implement NAS node selection by NRI from TMSI .. MSC pooling: implement NAS node selection by NRI from TMSI If applicable, choose MSC from NRI, extracted from TMSI MI. Change-Id: Ifbdea197b26e88751a391c8a80c41f04e7d5e047 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 43 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/18766/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index a5f7493..0707c65 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -33,6 +33,7 @@ #include #include #include +#include #include @@ -152,6 +153,8 @@ uint8_t round_robin_next_nr; struct bsc_subscr *subscr; bool is_emerg = false; + int16_t nri_v = -1; + bool is_null_nri = false; if (msgb_l3len(msg) < sizeof(*gh)) { LOGP(DRSL, LOGL_ERROR, "There is no GSM48 header here.\n"); @@ -186,16 +189,45 @@ } } - /* TODO: extract NRI from MI */ +#define LOG_NRI(LOGLEVEL, FORMAT, ARGS...) \ + LOGP(DMSC, LOGLEVEL, "%s NRI(%d)=0x%x=%d: " FORMAT, osmo_mobile_identity_to_str_c(OTC_SELECT, ), \ +net->nri_bitlen, nri_v, nri_v, ##ARGS) + + /* Extract NRI bits from TMSI, possibly indicating which MSC is responsible */ + if (mi.type == GSM_MI_TYPE_TMSI) { + if (osmo_tmsi_nri_v_get(_v, mi.tmsi, net->nri_bitlen)) { + LOGP(DMSC, LOGL_ERROR, "Unable to retrieve NRI from TMSI, nri_bitlen == %u\n", net->nri_bitlen); + nri_v = -1; + } else { + is_null_nri = osmo_nri_v_matches_ranges(nri_v, net->null_nri_ranges); + if (is_null_nri) + LOG_NRI(LOGL_DEBUG, "this is a NULL-NRI\n"); + } + } /* Iterate MSCs to find one that matches the extracted NRI, and the next round-robin target for the case no NRI * match is found. */ round_robin_next_nr = (is_emerg ? net->mscs_round_robin_next_emerg_nr : net->mscs_round_robin_next_nr); llist_for_each_entry(msc, >mscs, entry) { - if (!is_msc_usable(msc, is_emerg)) - continue; + bool nri_matches_msc = (nri_v >= 0 && osmo_nri_v_matches_ranges(nri_v, msc->nri_ranges)); - /* TODO: return msc when extracted NRI matches this MSC */ + if (!is_msc_usable(msc, is_emerg)) { + if (nri_matches_msc) + LOG_NRI(LOGL_DEBUG, "matches msc %d, but this MSC is currently not connected\n", + msc->nr); + continue; + } + + /* Return MSC if it matches this NRI, with some debug logging. */ + if (nri_matches_msc) { + if (is_null_nri) { + LOG_NRI(LOGL_DEBUG, "matches msc %d, but this NRI is also configured as NULL-NRI\n", + msc->nr); + } else { + LOG_NRI(LOGL_DEBUG, "matches msc %d\n", msc->nr); + return msc; + } + } /* Figure out the next round-robin MSC. The MSCs may appear unsorted in net->mscs. Make sure to linearly * round robin the MSCs by number: pick the lowest msc->nr >= round_robin_next_nr, and also remember the @@ -207,6 +239,9 @@ msc_round_robin_next = msc; } + if (nri_v >= 0 && !is_null_nri) + LOG_NRI(LOGL_DEBUG, "No MSC found for this NRI, doing round-robin\n"); + /* No dedicated MSC found. Choose by round-robin. * If msc_round_robin_next is NULL, there are either no more MSCs at/after mscs_round_robin_next_nr, or none of * them are usable -- wrap to the start. */ @@ -217,12 +252,16 @@ return NULL; } + LOGP(DMSC, LOGL_DEBUG, "New subscriber %s: MSC round-robin selects msc %d\n", +osmo_mobile_identity_to_str_c(OTC_SELECT, ), msc_target->nr); + /* An MSC was picked by round-robin, so update the next round-robin nr to pick */ if (is_emerg) net->mscs_round_robin_next_emerg_nr = msc_target->nr + 1; else net->mscs_round_robin_next_nr = msc_target->nr + 1; return msc_target; +#undef LOG_NRI } static int handle_page_resp(struct gsm_subscriber_connection *conn, struct msgb *msg) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch:
Change in osmo-bsc[master]: vty: add 'mscpool roundrobin next' for ttcn3 tests
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18767 ) Change subject: vty: add 'mscpool roundrobin next' for ttcn3 tests .. vty: add 'mscpool roundrobin next' for ttcn3 tests In the ttcn3 tests, the MSC round robin algorithm is affected by what tests ran before, so an osmo-bsc test needs this to reset the round robin to get predictable behavior to test against. Change-Id: I2155d906505a26744966f442ffb1e87a6a9b494c --- M src/osmo-bsc/osmo_bsc_vty.c 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/67/18767/1 diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 63744d5..719198f 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -914,6 +914,18 @@ return CMD_SUCCESS; } +DEFUN(mscpool_roundrobin_next, mscpool_roundrobin_next_cmd, + "mscpool roundrobin next " MSC_NR_RANGE, + "MSC pooling: load balancing across multiple MSCs.\n" + "Adjust current state of the MSC round-robin algorithm (for testing).\n" + "Set the MSC nr to direct the next new subscriber to (for testing).\n" + "MSC number, as in the config file; if the number does not exist," + " the round-robin continues to the next valid number.\n") +{ + bsc_gsmnet->mscs_round_robin_next_nr = atoi(argv[0]); + return CMD_SUCCESS; +} + int bsc_vty_init_extra(void) { struct gsm_network *net = bsc_gsmnet; @@ -978,6 +990,7 @@ install_element_ve(_nri_cmd); install_element(ENABLE_NODE, _position_trap_cmd); + install_element(ENABLE_NODE, _roundrobin_next_cmd); install_element(CFG_LOG_NODE, _fltr_imsi_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2155d906505a26744966f442ffb1e87a6a9b494c Gerrit-Change-Number: 18767 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-ttcn3-hacks[master]: RSL_Emulation: fix rx of tr_RSL_PAGING_CMD()
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18761 ) Change subject: RSL_Emulation: fix rx of tr_RSL_PAGING_CMD() .. RSL_Emulation: fix rx of tr_RSL_PAGING_CMD() For tr_RSL_PAGING_CMD, also check comp_ref against null. Upon receiving a tr_RSL_PAGING_CMD, the code tries to dispatch the Paging Command to all valid clients. However, the ConnectionTable[*].comp_ref is *always* present, and actually null for unconnected clients. So, before this patch, a Paging Command from osmo-bsc gets sent to a null client, which disconnects the RSL emulation and aborts the test. There is currently no test using this, but the upcoming MSC pool tests will: see I21cbab193cd0de2e5692665442eae113d5f61904. Change-Id: Iaf7730153a3a19e448a33298c3e12212a55929d5 --- M library/RSL_Emulation.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/18761/1 diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index bb11340..618cf11 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -548,7 +548,7 @@ [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?, ?), sid := ?)) -> value rx_rsl { /* broadcast to all clients? */ for (i := 0; i < sizeof(ConnectionTable); i := i + 1) { - if (ispresent(ConnectionTable[i].comp_ref)) { + if (ispresent(ConnectionTable[i].comp_ref) and ConnectionTable[i].comp_ref != null) { CLIENT_PT.send(rx_rsl.rsl) to ConnectionTable[i].comp_ref; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaf7730153a3a19e448a33298c3e12212a55929d5 Gerrit-Change-Number: 18761 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-ttcn3-hacks[master]: move type RAN_Configurations to RAN_Adapter.ttcnpp
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18759 ) Change subject: move type RAN_Configurations to RAN_Adapter.ttcnpp .. move type RAN_Configurations to RAN_Adapter.ttcnpp So far used only in MSC_Tests.ttcn, but soon to be used also in BSC_Tests.ttcn. Change-Id: If8f7fd50a88302af645ab337a907d8f0ad79a306 --- M library/RAN_Adapter.ttcnpp M msc/MSC_Tests.ttcn 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/18759/1 diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index f84fd34..f1b9d82 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -65,6 +65,8 @@ integer rctx }; +type record of RAN_Configuration RAN_Configurations; + private function init_pars(inout RAN_Adapter ba, in RAN_Configuration cfg) { ba.sccp_pars := { sio := { diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 35ca84a..bfac7e9 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -81,7 +81,6 @@ import from TCCConversion_Functions all; const integer NUM_BSC := 3; -type record of RAN_Configuration RAN_Configurations; /* Needed for SGsAP SMS */ import from MobileL3_SMS_Types all; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8f7fd50a88302af645ab337a907d8f0ad79a306 Gerrit-Change-Number: 18759 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange
Change in osmo-gsm-tester[master]: doc/manual: Fix links to nonexistent sections
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18757 ) Change subject: doc/manual: Fix links to nonexistent sections .. doc/manual: Fix links to nonexistent sections Change-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b --- M doc/manuals/chapters/config.adoc M doc/manuals/chapters/install.adoc 2 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/57/18757/1 diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 18ff55d..b4e4a95 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -326,15 +326,15 @@ A 'resources.conf' is validated by the <>. That means it is structured as a list of items for each resource type, where -each item has one or more attributes -- for an example, see -<>. +each item has one or more attributes -- looking for an example, see {app-name} +subdirectory _doc/examples_. Side note: at first sight it might make sense to the reader to rather structure e.g. the 'ip_address' or 'arfcn' configuration as + '"arfcn: GSM-1800: [512, 514, ...]"', + -but the more verbose format is chosen to stay consistent with the general -structure of resource configurations, which the resource allocation algorithm -uses to resolve required resources according to their traits. These +but the more verbose format is chosen in general to stay consistent with the +general structure of resource configurations, which the resource allocation +algorithm uses to resolve required resources according to their traits. These configurations look cumbersome because they exhibit only one trait / a trait that is repeated numerous times. No special notation for these cases is available (yet). diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index 445b53c..0e48e9d 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -309,7 +309,7 @@ wide install, in which case you could omit the explicit PATH to "$PWD/osmo-gsm-tester/src". *** This assumes that there are configuration files for osmo-gsm-tester placed -on the system (see <>). +on the system (see <>). *** If you'd like to check the behavior of test failures, you can uncomment the line below "# debug" to produce a build failure on every run. Note that this test typically produces a quite empty run result, since it launches no @@ -687,4 +687,4 @@ NOTE: The configuration will be looked up in various places, see -<>. +<>. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b Gerrit-Change-Number: 18757 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange
Change in osmo-gsm-tester[master]: enb, ms: refactor base_rate selection for ZMQ
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18637 ) Change subject: enb,ms: refactor base_rate selection for ZMQ .. enb,ms: refactor base_rate selection for ZMQ Use tailored sample rate only use for 6, 50 and 75 PRB. For all other bandwidths, we use the full LTE rate and downsample. With 5.76e6 as base sample rate, for example, we had some issue during the tests like: [zmq] Error: tx time is 0.178 ms in the past (7833600 < 7835648) [zmq] Error: tx time is 0.011 ms in the past (7835520 < 7835648) Using a higher sample rate seems to work better. Change-Id: I53678587b2c5e0e5dccb1b55a328ad2f1a97fc4c --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py 3 files changed, 9 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 699b66f..b221cb9 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -142,18 +142,14 @@ #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(self, num_prb): -if num_prb <= 6: +if num_prb == 6: return 128 -if num_prb <= 15: -return 256 -if num_prb <= 25: -return 384 -if num_prb <= 50: +if num_prb == 50: return 768 -if num_prb <= 75: +if num_prb == 75: return 1024 -if num_prb <= 110: -return 1536 +return 1536 + raise log.Error('invalid num_prb %r', num_prb) def num_prb2base_srate(self, num_prb): diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 432f759..b2dc9c7 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -45,8 +45,6 @@ return 128 if num_prb <= 15: return 256 -if num_prb <= 25: -return 384 if num_prb <= 50: return 768 if num_prb <= 75: diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 604d5c7..0aad954 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -52,19 +52,13 @@ #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): -if num_prb <= 6: +if num_prb == 6: return 128 -if num_prb <= 15: -return 256 -if num_prb <= 25: -return 384 -if num_prb <= 50: +if num_prb == 50: return 768 -if num_prb <= 75: +if num_prb == 75: return 1024 -if num_prb <= 110: -return 1536 -raise log.Error('invalid num_prb %r', num_prb) +return 1536 def num_prb2base_srate(num_prb): return num_prb2symbol_sz(num_prb) * 15 * 1000 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I53678587b2c5e0e5dccb1b55a328ad2f1a97fc4c Gerrit-Change-Number: 18637 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in osmo-gsm-tester[master]: handover.py: fix typo in test
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18626 ) Change subject: handover.py: fix typo in test .. handover.py: fix typo in test Change-Id: I9a52a341d7575807d3e52460e1aa24732e3b3112 --- M sysmocom/suites/4g/handover.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py index 6bb6456..bc49266 100755 --- a/sysmocom/suites/4g/handover.py +++ b/sysmocom/suites/4g/handover.py @@ -70,7 +70,7 @@ print("Exception while terminating process %r" % repr(process)) raise e -rest_str = 'Got %d successful handovers (>= %d) during %d seconds' % (num_handovers, threshold, duration) +res_str = 'Got %d successful handovers (>= %d) during %d seconds' % (num_handovers, threshold, duration) print(res_str) test.set_report_stdout(res_str) proc.terminate() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9a52a341d7575807d3e52460e1aa24732e3b3112 Gerrit-Change-Number: 18626 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in osmo-gsm-tester[master]: enb_amarisoft: decrease max rate for TM2+
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18717 ) Change subject: enb_amarisoft: decrease max rate for TM2+ .. enb_amarisoft: decrease max rate for TM2+ perhaps additional CRS for MIMO up to 25 PRB result in slighlt lower max rate Change-Id: I128085e308f400622683905245d42f92a631e81d --- M src/osmo_gsm_tester/obj/enb_amarisoft.py 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 3602f31..f6f2cb0 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -253,8 +253,12 @@ max_rate = max_phy_rate_tm1_ul[self.num_prb()] # MIMO only supported for Downlink -if downlink and self._txmode > 2: -max_rate *= 2 +if downlink: +if self._txmode > 2: +max_rate *= 2 +# Lower max MCS for TM2 and above results in lower max rate +if self._txmode >= 2 and self.num_prb() <= 25: +max_rate *= 0.85 return max_rate -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I128085e308f400622683905245d42f92a631e81d Gerrit-Change-Number: 18717 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539 ) Change subject: 4g_suite: add MT and MO test cases .. 4g_suite: add MT and MO test cases add two new test cases to test paging (MT) and MO traffic Change-Id: I5c7639f2c6953964a5b6979bc35f59464dbda43f --- A sysmocom/suites/4g/rrc_idle_mo_ping.py A sysmocom/suites/4g/rrc_idle_mt_ping.py 2 files changed, 83 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/suites/4g/rrc_idle_mo_ping.py b/sysmocom/suites/4g/rrc_idle_mo_ping.py new file mode 100755 index 000..de643df --- /dev/null +++ b/sysmocom/suites/4g/rrc_idle_mo_ping.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() + +epc.subscriber_add(ue) +epc.start() +enb.ue_add(ue) +enb.start(epc) + +print('waiting for ENB to connect to EPC...') +wait(epc.enb_is_connected, enb) +print('ENB is connected to EPC') + +ue.connect(enb) +print('waiting for UE to attach...') +wait(ue.is_rrc_connected) +print('UE is RRC connected') + +print('waiting until RRC connection gets released...') +wait(lambda: not ue.is_rrc_connected()) +print('UE is RRC idle') + +# Wait a bit +sleep(5) + +# Generate MO traffic +proc = ue.run_netns_wait('ping', ('ping', '-c', '1', epc.tun_addr())) +output = proc.get_stdout() + +# Check PRACH transmissions +num_prach_sent = ue.get_counter('prach_sent') +if num_prach_sent != 2: +raise Exception("Expected to have sent exactly 2 PRACHs, but in fact sent {}".format(num_prach_sent)) + +print(output) +test.set_report_stdout(output) diff --git a/sysmocom/suites/4g/rrc_idle_mt_ping.py b/sysmocom/suites/4g/rrc_idle_mt_ping.py new file mode 100755 index 000..7caba32 --- /dev/null +++ b/sysmocom/suites/4g/rrc_idle_mt_ping.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() + +epc.subscriber_add(ue) +epc.start() +enb.ue_add(ue) +enb.start(epc) + +print('waiting for ENB to connect to EPC...') +wait(epc.enb_is_connected, enb) +print('ENB is connected to EPC') + +ue.connect(enb) +print('waiting for UE to attach...') +wait(ue.is_rrc_connected) +print('UE is RRC connected') + +print('waiting until RRC connection gets released...') +wait(lambda: not ue.is_rrc_connected()) +print('UE is RRC idle') + +# Wait a bit +sleep(5) + +# Generate MO traffic, send single ping +proc = epc.run_wait('ping', ('ping', '-c', '1', ue.get_assigned_addr())) +output = proc.get_stdout() + +# Check paging received +num_paging_received = ue.get_counter('paging_received') +if num_paging_received != 1: +raise Exception("Expected to receive exactly 1 paging message, but in fact received {}".format(num_paging_received)) + +# Check PRACH transmissions +num_prach_sent = ue.get_counter('prach_sent') +if num_prach_sent != 2: +raise Exception("Expected to have sent exactly 2 PRACHs, but in fact sent {}".format(num_prach_sent)) + +print(output) +test.set_report_stdout(output) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5c7639f2c6953964a5b6979bc35f59464dbda43f Gerrit-Change-Number: 18539 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged
Change in osmo-gsm-tester[master]: enb_srs: add extra head room for max rate with 6 PRB in MIMO mode
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18636 ) Change subject: enb_srs: add extra head room for max rate with 6 PRB in MIMO mode .. enb_srs: add extra head room for max rate with 6 PRB in MIMO mode the overhead with 6 PRB and MIMO is a bit higher when compared to other PRBs resulting in lower achievable throughput Change-Id: I63888435553bba4f7be88cc745e24472921a7fb4 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 33ee16b..9dc8113 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -252,8 +252,13 @@ max_rate = max_phy_rate_tm1_ul[self.num_prb()] # MIMO only supported for Downlink -if downlink and self._txmode > 2: -max_rate *= 2 +if downlink: +if self._txmode > 2: +max_rate *= 2 + +# For 6 PRBs the max throughput is significantly lower +if self._txmode >= 2 and self.num_prb() == 6: +max_rate *= 0.85 return max_rate -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I63888435553bba4f7be88cc745e24472921a7fb4 Gerrit-Change-Number: 18636 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged
Change in osmo-gsm-tester[master]: enb_amarisoft: decrease max rate for TM2+
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18717 ) Change subject: enb_amarisoft: decrease max rate for TM2+ .. Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I128085e308f400622683905245d42f92a631e81d Gerrit-Change-Number: 18717 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 15:39:09 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: enb_srs: add extra head room for max rate with 6 PRB in MIMO mode
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18636 ) Change subject: enb_srs: add extra head room for max rate with 6 PRB in MIMO mode .. Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I63888435553bba4f7be88cc745e24472921a7fb4 Gerrit-Change-Number: 18636 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 15:39:00 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535 ) Change subject: ms_srs: refactor UE state getter functions .. ms_srs: refactor UE state getter functions rename UE helper functions to query RRC connected/idle state and adapt tests accordingly also add helper to retrieve assinged IP address Change-Id: I6cd057e34b4df6a1a73695355dd6406d7e039546 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_ofono.py M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/suites/4g/handover.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/4g/ping.py 8 files changed, 53 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index e74377d..b39d3ee 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -77,6 +77,20 @@ raise log.Error('MS type not supported:', ms_type) return ms_class(testenv, conf) +@abstractmethod +def is_registered(self, mcc_mnc=None): +'''Check whether MS is considered registered with the target network. In +2G networks, and MS is registered if it had a successful Location Update +in CS. In 4G networks, an UE is considered registered with the core +network if it has obtained and IP address. If MCC/MNC are given it tries +to manually register against that specific network.''' +pass + +@abstractmethod +def get_assigned_addr(self, ipv6=False): +''' Returns last assigned IP address ''' +pass + ### # PUBLIC (test API included) ### diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index e99cca3..432f759 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -296,13 +296,19 @@ self.rem_host.scp('scp-cfg-rf-to-remote', self.config_rf_file, self.remote_config_rf_file) self.rem_host.scp('scp-ifup-to-remote', self.ifup_file, self.remote_ifup_file) -def is_connected(self, mcc_mnc=None): +def is_registered(self, mcc_mnc=None): # lteue doesn't call the ifup script until after it becomes attached, so # simply look for our ifup script output at the end of it: return 'netns %s configured' % (self.netns()) in (self.process.get_stdout() or '') +def is_rrc_connected(self): +return self.is_registered() + def is_attached(self): -return self.is_connected() +return self.is_registered() + +def get_assigned_addr(self, ipv6=False): +raise log.Error('API not implemented!') def running(self): return not self.process.terminated() diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index e1ddbc8..e03427e 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -487,6 +487,9 @@ return self._apn_ipaddr return 'dynamic' +def get_assigned_addr(self, ipv6=False): +raise log.Error('API not implemented!') + def features(self): return self._conf.get('features', []) @@ -501,7 +504,7 @@ def _on_netreg_property_changed(self, name, value): self.dbg('%r.PropertyChanged() -> %s=%s' % (I_NETREG, name, value)) -def is_connected(self, mcc_mnc=None): +def is_registered(self, mcc_mnc=None): netreg = self.dbus.interface(I_NETREG) prop = netreg.GetProperties() status = prop.get('Status') @@ -516,6 +519,10 @@ return True return False +def is_connected(self, mcc_mnc=None): +'''Convenience helper to keep old test API''' +return self.is_registered(mcc_mnc) + def schedule_scan_register(self, mcc_mnc): if self.register_attempts > NETREG_MAX_REGISTER_ATTEMPTS: raise log.Error('Failed to find Network Operator', mcc_mnc=mcc_mnc, attempts=self.register_attempts) diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 1922bef..604d5c7 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -19,6 +19,7 @@ import os import pprint +import re from ..core import log, util, config, template, process, remote from ..core import schema @@ -300,11 +301,26 @@ self.rem_host.recreate_remote_dir(self.remote_run_dir) self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) -def is_connected(self, mcc_mnc=None): +def is_rrc_connected(self): +''' Check whether UE is RRC connected using console message ''' +pos_connected = (self.process.get_stdout() or '').rfind('RRC Connected') +
Change in osmo-gsm-tester[master]: enb, ms: refactor base_rate selection for ZMQ
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18637 ) Change subject: enb,ms: refactor base_rate selection for ZMQ .. Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I53678587b2c5e0e5dccb1b55a328ad2f1a97fc4c Gerrit-Change-Number: 18637 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 15:39:22 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: tests: Replace is_connected() with is_registered()
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18756 ) Change subject: tests: Replace is_connected() with is_registered() .. tests: Replace is_connected() with is_registered() API was renamed and old name deprecated, let's use it everywhere. Change-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523 --- M doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M doc/examples/4g_srsLTE/suites/4g/ping.py M src/osmo_gsm_tester/obj/ms_ofono.py M sysmocom/suites/debug/interactive.py M sysmocom/suites/dynts/switch_tch_pdch.py M sysmocom/suites/encryption/lib/testlib.py M sysmocom/suites/gprs/lib/testlib.py M sysmocom/suites/gprs/ping.py M sysmocom/suites/gprs/ping_idle_ping.py M sysmocom/suites/nitb_debug/interactive.py M sysmocom/suites/nitb_netreg/register.py M sysmocom/suites/nitb_netreg/register_default.py M sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py M sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py M sysmocom/suites/nitb_sms/mo_mt_sms.py M sysmocom/suites/nitb_ussd/assert_extension.py M sysmocom/suites/smpp/esme_ms_sms_storeforward.py M sysmocom/suites/smpp/esme_ms_sms_transaction.py M sysmocom/suites/sms/mo_mt_sms.py M sysmocom/suites/ussd/assert_extension.py M sysmocom/suites/voice/lib/testlib.py 23 files changed, 52 insertions(+), 56 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/56/18756/1 diff --git a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py index 51e78c0..738a2d8 100755 --- a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py +++ b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py @@ -21,7 +21,7 @@ bsc.start() bts.start() -wait(bsc.bts_is_connected, bts) +wait(bsc.bts.is_registered, bts) hlr.subscriber_add(ms_mo) hlr.subscriber_add(ms_mt) @@ -33,8 +33,8 @@ ms_mt.log_info() print('waiting for modems to attach...') -wait(ms_mo.is_connected, msc.mcc_mnc()) -wait(ms_mt.is_connected, msc.mcc_mnc()) +wait(ms_mo.is_registered, msc.mcc_mnc()) +wait(ms_mt.is_registered, msc.mcc_mnc()) wait(msc.subscriber_attached, ms_mo, ms_mt) sms = ms_mo.sms_send(ms_mt) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index d90c80b..b90f04f 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -15,7 +15,7 @@ enb.start(epc) print('waiting for ENB to connect to EPC...') -wait(epc.enb_is_connected, enb) +wait(epc.enb.is_registered, enb) print('ENB is connected to EPC') ue.connect(enb) @@ -26,7 +26,7 @@ proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') -wait(ue.is_connected, None) +wait(ue.is_registered, None) print('UE is attached') print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 453cdfa..193cce6 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -15,7 +15,7 @@ enb.start(epc) print('waiting for ENB to connect to EPC...') -wait(epc.enb_is_connected, enb) +wait(epc.enb.is_registered, enb) print('ENB is connected to EPC') ue.connect(enb) @@ -26,7 +26,7 @@ proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') -wait(ue.is_connected, None) +wait(ue.is_registered, None) print('UE is attached') print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) diff --git a/doc/examples/4g_srsLTE/suites/4g/ping.py b/doc/examples/4g_srsLTE/suites/4g/ping.py index c81a35d..1712df3 100755 --- a/doc/examples/4g_srsLTE/suites/4g/ping.py +++ b/doc/examples/4g_srsLTE/suites/4g/ping.py @@ -11,12 +11,12 @@ enb.start(epc) print('waiting for ENB to connect to EPC...') -wait(epc.enb_is_connected, enb) +wait(epc.enb.is_registered, enb) print('ENB is connected to EPC') ue.connect(enb) print('waiting for UE to attach...') -wait(ue.is_connected, None) +wait(ue.is_registered, None) print('UE is attached') proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index e03427e..cec6824 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -519,10 +519,6 @@ return True return False -def is_connected(self, mcc_mnc=None): -'''Convenience helper to keep old test API''' -return self.is_registered(mcc_mnc) - def schedule_scan_register(self, mcc_mnc): if self.register_attempts > NETREG_MAX_REGISTER_ATTEMPTS: raise log.Error('Failed
Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539 ) Change subject: 4g_suite: add MT and MO test cases .. Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5c7639f2c6953964a5b6979bc35f59464dbda43f Gerrit-Change-Number: 18539 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 10 Jun 2020 15:38:19 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535 ) Change subject: ms_srs: refactor UE state getter functions .. Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6cd057e34b4df6a1a73695355dd6406d7e039546 Gerrit-Change-Number: 18535 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 10 Jun 2020 15:38:10 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions
pespin has uploaded a new patch set (#8) to the change originally created by srs_andre. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535 ) Change subject: ms_srs: refactor UE state getter functions .. ms_srs: refactor UE state getter functions rename UE helper functions to query RRC connected/idle state and adapt tests accordingly also add helper to retrieve assinged IP address Change-Id: I6cd057e34b4df6a1a73695355dd6406d7e039546 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_ofono.py M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/suites/4g/handover.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/4g/ping.py 8 files changed, 53 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/18535/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6cd057e34b4df6a1a73695355dd6406d7e039546 Gerrit-Change-Number: 18535 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset
Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases
pespin has uploaded a new patch set (#8) to the change originally created by srs_andre. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539 ) Change subject: 4g_suite: add MT and MO test cases .. 4g_suite: add MT and MO test cases add two new test cases to test paging (MT) and MO traffic Change-Id: I5c7639f2c6953964a5b6979bc35f59464dbda43f --- A sysmocom/suites/4g/rrc_idle_mo_ping.py A sysmocom/suites/4g/rrc_idle_mt_ping.py 2 files changed, 83 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/39/18539/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5c7639f2c6953964a5b6979bc35f59464dbda43f Gerrit-Change-Number: 18539 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset
Change in osmo-mgw[master]: endp: move endpoint name generation into mgcp_endp.c
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18754 ) Change subject: endp: move endpoint name generation into mgcp_endp.c .. Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18754/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/18754/1//COMMIT_MSG@21 PS1, Line 21: endpoint will name itsself by the trunk properites and the index number typo: properties https://gerrit.osmocom.org/c/osmo-mgw/+/18754/1/include/osmocom/mgcp/mgcp_endp.h File include/osmocom/mgcp/mgcp_endp.h: https://gerrit.osmocom.org/c/osmo-mgw/+/18754/1/include/osmocom/mgcp/mgcp_endp.h@107 PS1, Line 107:unsigned int index); no need to split new line https://gerrit.osmocom.org/c/osmo-mgw/+/18754/1/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18754/1/src/libosmo-mgcp/mgcp_endp.c@65 PS1, Line 65: gen_virtual_epname(ep_name_buf, trunk->cfg->domain, index); It's a bit strange having a function for one type while still using snprintf directly here for another. https://gerrit.osmocom.org/c/osmo-mgw/+/18754/1/src/libosmo-mgcp/mgcp_endp.c@78 PS1, Line 78: endp->name = talloc_strdup(endp, ep_name_buf); What about using talloc_asprintf() instead of snprintf + talloc_strdup? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8dee07f1c63037d1f73113f69c612d1f2703cee5 Gerrit-Change-Number: 18754 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 14:13:28 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18644 ) Change subject: osmo-mgw: refactor endpoint and trunk handling .. Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@40 PS6, Line 40: struct mgcp_endpoint *mgcp_endp_alloc(struct mgcp_trunk *trunk, char *name) trailing whitespace https://gerrit.osmocom.org/c/osmo-mgw/+/18644/6/src/libosmo-mgcp/mgcp_endp.c@49 PS6, Line 49: endp->cfg = trunk->cfg; Not sure if whitespace at start of this line is correct. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia8cf4d6caf05a4e13f1f507dc68cbabb7e6239aa Gerrit-Change-Number: 18644 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Jun 2020 14:09:56 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583 ) Change subject: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind .. Patch Set 3: Code-Review-2 > Patch Set 3: > > Otherwise if you think there's a bug I can have a look at it. I just tested it and it's working fine here: """ enb: - label: srsENB-zmq type: srsenb rf_dev_type: zmq rf_dev_args: auto run_node: run_type: ssh run_addr: 10.42.42.117 ssh_user: jenkins ssh_addr: 10.42.42.116 """ $ ss -l -n -p | grep enb -B1 u_dgr UNCONN 0 0 * 1289 * 0 udpUNCONN 0 0 10.42.42.117:2152 *:* users:(("srsenb",pid=60591,fd=15)) -- tcpLISTEN 0 5 172.16.0.1:5003 *:* users:(("iperf3",pid=60753,fd=3)) tcpLISTEN 0 10010.42.42.117:2000 *:* users:(("srsenb",pid=60591,fd=10)) So this patch is indeed not needed and can be abandoned. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibf5b0017c781d17c7f20b859c1cda297e2a9cca2 Gerrit-Change-Number: 18583 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 10 Jun 2020 13:55:47 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: osmo-bts-trx/scheduler: properly handle NOPE.ind during handover
Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18734 to look at the new patch set (#3). Change subject: osmo-bts-trx/scheduler: properly handle NOPE.ind during handover .. osmo-bts-trx/scheduler: properly handle NOPE.ind during handover Looking at GSMTAP during handover, I've noticed many packets on RACH looking pretty much like false positives, all with RA=0x00. I correlated GSMTAP traces with TRXD traces, and figured out that they all are triggered by NOPE indications from osmo-trx. Since a NOPE.ind carries no valid burst, all its bits are set to zero. Funny enough, this sequence is still decoded just fine as a valid RACH, so that's why we see it on GSMTAP. Later on it gets rejected by L1SAP due to bad RSSI, ToA, and/or C/I ratio. The is a side effect of [1]. In order to ensure proper Uplink measurement reporting during handover, including the time before the handover RACH is received, let's treat and handle NOPE indications as Normal Bursts. [1] Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Change-Id: Ic69f3bc2b776a23374c28a6884080a54bc16ef5f Related: OS#4592 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/18734/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic69f3bc2b776a23374c28a6884080a54bc16ef5f Gerrit-Change-Number: 18734 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset